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

Метод isNot

Метод isNot применяется к экземпляру модели Eloquent и сравнивает его с другой моделью. Он возвращает true, если модели ссылаются на разные записи в базе данных. Сравнение происходит по ключевому полю (обычно id) и имени таблицы. Это удобный способ проверить, что две модели не являются одним и тем же объектом.

Синтаксис

<?php $model->isNot($otherModel); ?>

Пример

Давайте получим две статьи из базы данных и проверим, являются ли они разными записями:

<?php use AppModelsArticle; $article1 = Article::find(1); $article2 = Article::find(2); $res = $article1->isNot($article2); echo $res; ?>

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

"true"

Пример

Теперь сравним одну и ту же модель, сохранённую в две переменные. Метод вернёт false, так как это одна запись:

<?php use AppModelsArticle; $article1 = Article::find(1); $article2 = $article1; $res = $article1->isNot($article2); echo $res; ?>

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

"false"

Пример

Метод isNot часто используется в условиях для исключения текущей модели из коллекции. Например, получим все статьи, кроме одной:

<?php use AppModelsArticle; $current = Article::find(1); $allArticles = Article::all(); $filtered = $allArticles->filter(function ($article) use ($current) { return $current->isNot($article); }); foreach ($filtered as $article) { echo $article->title; } ?>

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

["article 2", "article 3", "article 4", "article 5"]

Пример

Метод isNot также работает с новыми моделями, которые ещё не были сохранены. Сравнение происходит по ключевому полю:

<?php use AppModelsArticle; $article1 = Article::find(1); $article2 = new Article(); $article2->id = 2; $res = $article1->isNot($article2); echo $res; ?>

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

"true"

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

  • метод is,
    который проверяет, что две модели являются одной записью
  • метод getKey,
    который возвращает значение первичного ключа модели
  • метод fresh,
    который перезагружает модель из базы данных
  • метод refresh,
    который обновляет существующую модель данными из БД
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить