例:查询用户是否收藏了某篇文章
模型代码:
1 2 3 | public function isfav(){ return $this ->hasOne(Collection:: class , 'cid' , 'id' ); } |
例1:
1 2 3 | $reData = User::with([ 'isfav' => function ( $query ) { $query ->where( 'user_id' ,1); }])->select(); |
这里最终查询结果 只会剩下点了收藏的文章,而不会显示全部的 我们需要全部文章列表 并且点了收藏的会查出来 我们应该怎么办呢?
1 2 3 | $reData = User::with([ 'isfav' => function ( $query ) { $query ->getQuery()->where( 'user_id' ,1); }])->select(); |
只需要加上getQuery()这个方法就可以得到我们需要的结果了