Intereting Posts
php отправить электронное письмо со вложением MASS WHERE / IN, как обрабатывать пустые / возвращенные данные также совпадают? Кнопка удаления для каждой строки таблицы Какая простая альтернатива Php для расширения php gettext, которая может поддерживаться всеми видами бесплатного хостинга Подготовленный оператор работает для INSERT, но не для SELECT Как я могу сгенерировать древовидную структуру из таблицы в базе данных? msvcr110.dll отсутствует при ошибке компьютера при установке PHP Просмотр хранилища фильтров на основе группы клиентов в Magento не может вставить русский текст в базу данных mysql DOMPDF Не поддерживает арабские символы Предупреждение: mysqli_query () ожидает, что параметр 1 будет mysqli, объект указан в Не удалось загрузить Zend / Loader.php. Попытка разобраться, почему? Согласование свободно сформированных URL-адресов с использованием регулярных выражений и php? PostgreSQL для XML с 3 таблицами закодировать массив Php на json

В чем разница между find () findOrFail () first () firstOrFail

В чем разница между этими методами

  1. найти()
  2. findOrFail ()
  3. первый()
  4. firstOrFail ()
  5. получить()
  6. список()
  7. ToArray ()

Я использовал их, и каждый из них дает другой результат, и иногда мне нужно добавить toArray() в конец get() потому что моя функция ожидает массив. Не будут ли другие методы создавать массивы?

  1. find($id) принимает идентификатор и возвращает одну модель. Если подходящая модель не существует, она возвращает null .

  2. findOrFail($id) принимает идентификатор и возвращает одну модель. Если подходящая модель не существует, она выдает ошибку.

  3. first() возвращает первую запись, найденную в базе данных. Если подходящая модель не существует, она возвращает null .

  4. firstOrFail() возвращает первую запись, найденную в базе данных. Если подходящая модель не существует, она выдает ошибку.

  5. get() возвращает коллекцию моделей, соответствующих запросу.

  6. pluck($column) возвращает коллекцию только значений в данном столбце. В предыдущих версиях Laravel этот метод назывался lists .

  7. toArray() преобразует модель / коллекцию в простой массив PHP.


Примечание. Коллекция представляет собой усиленный массив. Он функционирует аналогично массиву, но имеет много дополнительных функций, как вы можете видеть в документах .

К сожалению, PHP не позволяет использовать объект коллекции везде, где вы можете использовать массив. Например, использование коллекции в цикле foreach в порядке, поместить ее в array_map нет. Точно так же, если вы набираете тип hint как array , PHP не позволит вам передать ему коллекцию. Более новые версии PHP имеют iterable тип, который можно использовать для приема как массивов, так и коллекций.

Если вы хотите получить простой массив из коллекции, вызовите его метод all() .