Laravel красноречивый имеет множество hasmany - PullRequest
0 голосов
/ 06 ноября 2018

Как показать всю компанию, у которой есть вложение фото?

Компания:

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 голосов
/ 06 ноября 2018

Используя eloquent, вы можете написать свою логику как

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

См. Запрос наличия отношений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...