Вернуть пустой результат запроса из Laravel Query Builder

Весьма специфичный случай. Вернуть пустой результат SQL запроса независимо от остальных условий запроса.

Необходимо задать заведомо невыполнимое условие, например идентификатор записи < 0. Естественно лучшим вариантом будет выбирать поле с индексом. Совершенно точно не стоит опираться на LIMIT 0. Постраничная навигация обязательно изменит этот параметр.

SELECT * 
FROM entities 
WHERE id < 0

Laravel Query Builder

Получение пустого множества.

/**
 * Вернуть пустое множество
 *
 * @param Builder $query
 * @return \October\Rain\Database\Builder
 */
public function scopeNoRows(Builder $query): Builder
{
    return $query->where('id', '<', '0');
}

Похожие записи

Про сохранение полей даты в Eloquent

Если в моделе не указать

protected $dates = ['something_at'];

То надо делать формат

// Поле типа date 
'something_at' => Carbon::now()->addDays(7)->format('Y-m-d'),

// Поле типа date 
'something_at' => Carbon::now()->addDays(7)->format('Y-m-d H:i:s'),

Laravel Where Exists Clauses

Метод whereExists позволяет написать SQL-условия where exists. Метод whereExists принимает в качестве аргумента замыкание, которое получит экземпляр конструктора запросов, позволяя вам определить запрос для помещения в условие "exists":

09 октября 2018 г. в Laravel

Eloquent collection groupBy Carbon

use Carbon\Carbon;
...

$projectsGroupedByYear = $projects->groupBy(function($p) {
    return Carbon::parse($p->start_year_date)->format('Y');
});