关键点:闭包
模型:
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