РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
312 of 1392 menu

Метод whereBelongsTo

Метод whereBelongsTo применяется к запросу Eloquent и позволяет отфильтровать записи по принадлежности к определённой связанной модели. Первым параметром передаётся экземпляр модели, вторым необязательным параметром - имя отношения. Метод автоматически определяет внешний ключ и выполняет фильтрацию.

Синтаксис

<?php Model::whereBelongsTo($relatedModel, $relationName = null); ?>

Пример

Давайте отфильтруем статьи, которые принадлежат пользователю с id равным 1:

<?php use AppModelsArticle; use AppModelsUser; $user = User::find(1); $articles = Article::whereBelongsTo($user)->get(); foreach ($articles as $article) { echo $article->title; } ?>

Результат выполнения кода:

["article 1", "article 2", "article 3"]

Пример

Давайте укажем имя отношения явно, если оно отличается от стандартного:

<?php use AppModelsArticle; use AppModelsUser; $user = User::find(1); $articles = Article::whereBelongsTo($user, 'author')->get(); foreach ($articles as $article) { echo $article->title; } ?>

Результат выполнения кода:

["article 1", "article 3"]

Пример

Отфильтруем комментарии, принадлежащие определённой статье:

<?php use AppModelsComment; use AppModelsArticle; $article = Article::where('title', 'article 2')->first(); $comments = Comment::whereBelongsTo($article)->get(); foreach ($comments as $comment) { echo $comment->text; } ?>

Результат выполнения кода:

["comment 1", "comment 2"]

Смотрите также

  • метод belongsTo,
    который определяет отношение "принадлежит"
  • метод whereHas,
    который фильтрует по наличию связанных записей
  • метод whereRelation,
    который фильтрует по условию на связанную модель
  • метод get,
    который выполняет запрос и возвращает коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить