孩子模型的属性全部在阵列的Laravel

时间:2017-12-22 09:40:19

标签: laravel query-builder laravel-eloquent

我有两张桌子:postspost_sns

  • posts: id, title, content,..
  • post_sns: id, post_id, sns_type

关系:一个post可以 post_sns

现在我想构建一个查询来获取所有sns_type in [2,3]的帖子。 2 3,但 2和3甚至更多。请帮帮我!

1 个答案:

答案 0 :(得分:0)

使用whereHas()

Post::whereHas('postSns', function($q) {
    $q->where('sns_type', 2);
})->whereHas('postSns', function($q) {
    $q->where('sns_type', 3);
})->get();

您还需要定义关系才能使其正常工作:

public function postSns()
{
    return $this->hasMany(PostSns::class, 'post_id');
}