TGViewer
Заметки разработчика Заметки разработчика @dev_notes_ru · 458 subscribers
Post #1592 345
Отключение событий при создании Eloquent моделей

При тестировании часто возникает необходимость создавать записи через модель без запуска связанных событий. Сделать это очень просто с помощью метода createQuietly.

Пример использования со стандартной моделью:

$user = User::createQuietly([
'name' => 'Mabel',
'email' => 'mabel@codecourse.com'
]);


Метод createQuietly не запускает никакие события, поэтому обработчики в наблюдателях моделей не сработают.

Особенно удобно при тестировании с фабриками:

User::factory(3)->createQuietly();


Этот код создаст трёх пользователей без генерации событий.

Другие варианты "тихого" создания:

- createOneQuietly() - для создания одной записи
- createManyQuietly() - для массового создания

Эти методы помогают ускорить тесты и избежать побочных эффектов при работе с моделями.

📱 @dev_notes_ru

#Laravel #Eloquent #tips
  • 👍 3
More from @dev_notes_ru
  1. Apr 27, 2026Уникальный индекс при мягком удалении: решаем проблему дубликатов При использовании мягког…
  2. Apr 23, 2026Статические переменные в PHP: использование static внутри функций По данным исследования E…
  3. Apr 21, 2026Валидация массивов в Laravel без N+1: Form Request как построитель контекста Применение пр…
  4. Apr 13, 2026JSON в браузере: import или fetch — руководство по выбору Спойлер: import из JSON — это не…
  5. Apr 6, 2026Проксирование fetch() в серверном JavaScript Стандарт Fetch не специфицирует проксирование…
  6. Apr 2, 2026Taskfile: Когда пора отказаться от Makefile (а когда — нет) Makefile — инструмент с почти…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →