Зміст серії
Оптимізація запитів
- 1 Зупинка проблеми N+1 запитів
- 2 value() vs first() - економія пам'яті
- 3 DB::transaction() - захист даних
- 4 Route Caching - миттєвий приріст швидкості
- 5 select() - припинити завантаження зайвих колонок
- 6 limit() - не завантажувати непотрібне
- 7 whereIn() з великими масивами - пастка пам'яті
- 8 exists() vs count() - розумна перевірка
- 9 cursor() - потокове передавання великих наборів даних
- 10 sole() - суворе отримання одного результату
- 11 insert() vs create() - масові операції правильно
- 12 remember() - кешування результатів запитів
- 13 DB::raw() - коли Eloquent недостатньо
- 14 Dynamic Scopes - побудова складних фільтрів
- 15 toBase() - скидання накладних витрат Eloquent
- 16 Lazy Collections з альтернативою cursor()
- 17 selectRaw() для обчислюваних колонок
- 18 Уникати select(*) в продакшені
- 19 whereHas() vs whereRelation() - швидша фільтрація
- 20 Оптимізація з Database Views
Розширені можливості Eloquent
- 21 Query Scopes - принцип DRY для запитів
- 22 updateOrCreate() - простий спосіб upsert
- 23 Soft Deletes - ніколи не втрачайте дані
- 24 when() - умовні фільтри без if/else
- 25 Accessors & Mutators - автоматична обробка даних
- 26 Eloquent Casts - автоматичне перетворення типів
- 27 Події моделей - хуки в життєвий цикл Eloquent
- 28 whereBelongsTo() - чисті запити по зв'язках
- 29 touch() - автооновлення timestamps у батьків
- 30 whereHas() проти has() - фільтр за зв'язками
- 31 Subquery Selects - уникаємо N+1 без eager loading