laravel中使用with如何動態新增where條件
關鍵點:閉包
模型:
public function getCollect()
{
return $this->belongsTo('App\Components\Misc\Models\CollectCareerTalk', 'id', 'career_talk_id');
}
public function otherMethod()
{
return $this->belongsTo('App\Components\Misc\Models\OtherMethodModel', '主鍵', '外來鍵');
}
倉庫:
$this->model->with(['getCollect' => function ($q) use ($user_id) {
$q->where('user_id', $user_id);
},
'otherMethod'])
->select('id', 'title')
->where([
'id' => 1
])
->first();
注意:with可以連多個表(陣列形式傳參),沒有動態條件的,可以直接講模型方法名寫到with的引數中,有動態條件的,寫到閉包中