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

Коллекция из базы данных в Laravel

Давайте на практике получим записи из базы. Возьмём модель Post и выберем все посты методом all:

<?php namespace App\Http\Controllers; use App\Models\Post; class PostController extends Controller { public function index() { $posts = Post::all(); dump($posts); } } ?>

В дампе вы увидите объект, а не обычный массив PHP. Посты лежат внутри этой обёртки. Можно явно посмотреть класс результата:

<?php namespace App\Http\Controllers; use App\Models\Post; class PostController extends Controller { public function index() { $posts = Post::all(); dump(get_class($posts)); } } ?>

Выведется что-то вроде Illuminate\Database\Eloquent\Collection. Это коллекция Eloquent - наследник обычной коллекции Laravel. Для нас сейчас важно: выборка из БД даёт коллекцию, а не массив.

Тот же результат получите через get - например, с условием:

<?php namespace App\Http\Controllers; use App\Models\Post; class PostController extends Controller { public function index() { $posts = Post::where('published', true)->get(); dump($posts); dump(get_class($posts)); } } ?>

Снова коллекция. Дальше к ней можно применять методы: фильтровать, сортировать, брать поля и так далее. Их разберём в следующих уроках.

Получите все посты через Post::all() и выведите результат через dump.

Выведите класс объекта, который вернула выборка.

Получите посты через get с любым условием и убедитесь, что результат тоже коллекция.

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