Laravel: 如何在多对多关系中使用 where 子句
Laravel: How to use where clause in many to many relation
如何在多对多关系中使用 where 子句
Table:用户
id - name - email
Table:移位
id - name
Table: shifting_user
id - user_id - shifting_id
用户模型:
public function shiftings()
{
return $this->belongsToMany('App\shifting');
}
我在控制器中使用以下自定义查询
public function index()
{
return $user = DB::select('select * from shifting_user
where user_id in (select id from users)' );
}
如何将其转换为 laravel standard/equloent 查询。
你需要先建立他们的关系。
在您的 Shifting 模型中:
public function users()
{
return $this->belongsToMany(User::class);
}
在您的用户模型中:
public function shiftings ()
{
return $this->belongsToMany(Shifting::class);
}
然后你可以通过简单地进行预先加载来获得所有的转变,包括它的相关用户
$shiftings = Shifting::with('users')->get();
dd($shiftings);
如何在多对多关系中使用 where 子句
Table:用户
id - name - email
Table:移位
id - name
Table: shifting_user
id - user_id - shifting_id
用户模型:
public function shiftings()
{
return $this->belongsToMany('App\shifting');
}
我在控制器中使用以下自定义查询
public function index()
{
return $user = DB::select('select * from shifting_user
where user_id in (select id from users)' );
}
如何将其转换为 laravel standard/equloent 查询。
你需要先建立他们的关系。
在您的 Shifting 模型中:
public function users()
{
return $this->belongsToMany(User::class);
}
在您的用户模型中:
public function shiftings ()
{
return $this->belongsToMany(Shifting::class);
}
然后你可以通过简单地进行预先加载来获得所有的转变,包括它的相关用户
$shiftings = Shifting::with('users')->get();
dd($shiftings);