私は2つのモデルがあります - ユーザーとRoleUser。各ユーザーは役割に割り当てられます。そこで私は、Userモデルで 'ロール'メソッドを宣言することで、1対1の関係を定義しました。LaravelのEloquentの関係を使用したエラー
public function role(){
return $this->hasOne('Vanguard\RoleUser', 'user_id');
}
これが私の役割モデルコントローラで
class RoleUser extends Model
{
//
public $table = 'role_user';
protected $fillable = ['user_id', 'role_id'];
}
ですが、私はROLE_ID = 2を持つユーザーを取得しようとしていますが、クエリは、すべてのユーザーが(すなわち3)の代わりに、ただ一人のユーザーを返し続けます。 これは私のコントローラです
$users = User::with(['role' => function ($query) {
$query->where('role_id', 2);
}])->get();
原因は何ですか?
Laravelのバージョンは何? –