Сортировка по дате QueryBuilder
Первый вызов всегда идёт через table() в котором указываем таблицу базы данных. Метод get() указывает на окончание запроса и выполняет его в базу данных, возвращает объект Illuminate\Support\Collection c результатами в котором каждый результат, это экземпляр класса stdClass.
Методы latest() и oldest() позволяют легко отсортировать результаты по дате. По умолчанию выполняется сортировка по столбцу created_at.
Давайте отсортируем посты по убыванию даты:
app/Http/Controllers/PostController.php<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; // подключаем фасад DB
class PostController extends Controller
{
public function show()
{
$posts = DB::table('posts')
->latest()
->get();
dump($posts);
}
}
А теперь отсортируем посты по возрастанию даты:
app/Http/Controllers/PostController.php<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; // подключаем фасад DB
class PostController extends Controller
{
public function show()
{
$posts = DB::table('posts')
->oldest()
->get();
dump($posts);
}
}
Указания поля сортировки
Можно передать имя столбца для сортировки по нему. Для примера давайте отсортируем по возрастанию даты, хранящейся в поле date:
app/Http/Controllers/PostController.php<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB; // подключаем фасад DB
class PostController extends Controller
{
public function show()
{
$posts = DB::table('posts')
->oldest('date')
->get();
dump($posts);
}
}