Laravel雄辩的hasmany的hasmany

时间:2018-11-06 07:39:47

标签: php laravel eloquent

如何显示所有具有照片附件的公司?

公司:

id | name 

用户:

id | name | company_id

帖子:

id | user_id | text

post_attachment:

id | post_id | path | type

公司型号:

public function users() {
  return $this->hasMany('App\User')->orderBy('id', 'ASC');
}

用户模型:

public function posts() {
  return $this->hasMany('App\Post');
}

帖子模型:

public function images(){
  return $this->hasMany('App\PostsAttachment')->where("type", "image");
}

我想让所有公司的用户具有至少2张图片附件的帖子。有人可以帮助我吗?

我尝试了Company::has('users.posts.images', '<', 2)->get();,但它也为用户图像低于2的公司提供了服务。

1 个答案:

答案 0 :(得分:1)

雄辩地将您的逻辑写成

$companies = Company::has('users.posts.images')->get();

See Querying Relationship Existence