laravel Получить все модели, которые имеют массив отношений - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть модель продукта с отношением Теги:

class Product
{
  public function tags()
   {
     return $this->belongsToMany('tags')

и

class Tags
{
  public function products()
   {
     return $this->belongsToMany('products')

как мне получить products, которые имеют все tags с идентификатором [1,2,3]

1 Ответ

0 голосов
/ 26 ноября 2018

Используйте whereHas() со всеми четырьмя параметрами:

$tagIds = [1, 2, 3];
$products = Product::whereHas('tags', function($query) use($tagIds) {
    $query->whereIn('tags.id', $tagIds);
}, '=', count($tagIds))->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...