我需要使用belongsTo relation
在我的查询中执行where条件我的关系是:
public function user()
{
return $this->belongsTo('App\User', 'user_id');
}
我的查询是:
Post::with('user')->where('user.blocked', '<>', 1)->orWhere(function($query){
$query->where('posts.user_id', '=', ApiParam::get('user_id'))
->where('followers.following_id', '<>', 'NULL');
})
->leftJoin('followers', function($join){
$join->on('followers.following_id', '=', 'posts.user_id')
->where('followers.user_id', '=', ApiParam::get('user_id'))
->where('followers.status', '=', Followers::USER_FOLLOW_STATUS_ACCEPT);
})
->select('posts.*')
->orderBy('posts.updated', 'DESC')
->limit(20)
->get();
但是当运行时,我收到以下错误:Column not found: 1054 Unknown column 'user.blocked' in 'where clause'
当我在查询中使用(&#39;&#39;)关系时,如何使用where where条件?
答案 0 :(得分:0)
可以使用Constraining eager loads.您已在代码中使用的内容完成此操作。
Post::with(['user'=>function($query)
{
$query->where('blocked', '<>', 1)
}])->get();