laravel中使用with如何动态添加where条件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tclzsn7456/article/details/83785589

关键点:闭包

模型:

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的参数中,有动态条件的,写到闭包中

猜你喜欢

转载自blog.csdn.net/tclzsn7456/article/details/83785589