"User"というモデルがあります。 Eloquentの "Password"フィールドを別のテーブルから取得し、user :: all()メソッドを呼び出すと、異なるテーブルのすべての選択フィールドが結果になります。 どうすればいいですか?laravel別のテーブルのEloquentモデルのフィールド
結果は()では表示されません。
"User"というモデルがあります。 Eloquentの "Password"フィールドを別のテーブルから取得し、user :: all()メソッドを呼び出すと、異なるテーブルのすべての選択フィールドが結果になります。 どうすればいいですか?laravel別のテーブルのEloquentモデルのフィールド
結果は()では表示されません。
Eloquentモデルで$ appendsを使用して私の問題を解決しました。
私のコード:答えを
class User extends Eloquent {
protected $table = 'user';
protected $attributes = ['password'];
protected $appends = ['password'];
public function getPasswordAttribute()
{
return $this->getPAsswordMethod();
}
}
あなたの質問は極端にボードと境界線ではありませんが、私はあなたにボードソリューションを提供します。
作成したモデルオブジェクトを使用して、他のテーブルとの関係を確立することができます。ユーザーに属しているパスワード表を持つことができます。
Userモデル:あなたは今、ユーザーを行うことができます
public function password()
{
return $this->hasOne(Password::class, 'FK', 'PK');
}
::( 'パスワード')と - >を取得([ 'フィールド名']);これにより、ユーザーと上記の関係を持つすべてのパスワードが得られます。
おかげで、私は2つの異なる接続からの2のデータベースを持っている、そして、あなたは他のデータベースを照会する必要があります。その場合には、() – Ehsan
@ehsanで使用する必要はありません結果を変数として格納し、クエリで渡します。テーブルが同じでキーを共有している場合は、ラーベールコレクションメソッドを見ることができます – ExohJosh