关键点:闭包
模型:
1
2
3
4
5
6
7
8
9
|
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' , '主键' , '外键' );
}
|
仓库:
1
2
3
4
5
6
7
8
9
|
$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条件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/tclzsn7456/article/details/83785589