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

以上这篇在laravel中使用with实现动态添加where条件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持黑区网络。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5690.html