无法获取具有关系的laravel查询

时间:2020-05-16 09:56:55

标签: laravel relationship

我有具有关系的模型类 Post

function postanchors(){
        return $this->hasMany('App\PostAnchors', 'post_id', 'id');
}

posts_anchors是简单表

id | post_id | anchor_id

现在,如果他们的anchor_id = 51,我想获得帖子

$query = Post::query();
$posts = $query->with('postanchors', function ($query){
           $query->where('anchor_id','=', 51);
})

错误 mb_strpos()期望参数1为字符串,给定对象

$posts = $query->with('postanchors')->where('anchor_id', 51)->paginate(8);

也不起作用 未定义的列:7错误:“ anchor_id”列不存在LINE 1:从“ posts”中的“ anchor_id” *

中选择count()作为汇总

这很简单。可能是关系错了吗?

1 个答案:

答案 0 :(得分:1)

尝试以下查询:

$query = Post::query();
$posts = $query->whereHas('postanchors', function ($query){
       $query->where('anchor_id','=', 51);
})->get();