1. 程式人生 > >laravel中使用with如何動態新增where條件

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的引數中,有動態條件的,寫到閉包中