Eloquent collection groupBy Carbon
use Carbon\Carbon;
...
$projectsGroupedByYear = $projects->groupBy(function($p) {
return Carbon::parse($p->start_year_date)->format('Y');
});
use Carbon\Carbon;
...
$projectsGroupedByYear = $projects->groupBy(function($p) {
return Carbon::parse($p->start_year_date)->format('Y');
});
В Laravel 5.4 кодировкой базы данных по умолчанию стала utf8mb4. Это повлияло на приложения, использующие MySQL v5.7.7 и меньше. Во время выполненния миграций, может вывалитсья ошибка Specified key was too long.
use Illuminate\Database\Eloquent\ModelNotFoundException;
...
try {
$publication = Publication::findOrFail($id);
} catch (ModelNotFoundException $ex) {
// Error handling code
}
Проблема связана с тем, что СУБД до определённой версии не поддерживала нативно JSON поля, а вместо них использовались обычные текстовые поля.
Метод whereExists позволяет написать SQL-условия where exists. Метод whereExists
принимает в качестве аргумента замыкание, которое получит экземпляр конструктора запросов, позволяя вам определить запрос для помещения в условие "exists":
DB::unprepared('SET IDENTITY_INSERT october_test_pages ON');
// insert
DB::unprepared('SET IDENTITY_INSERT october_test_pages OFF');