При тестировании часто возникает необходимость создавать записи через модель без запуска связанных событий. Сделать это очень просто с помощью метода
createQuietly.Пример использования со стандартной моделью:
$user = User::createQuietly([
'name' => 'Mabel',
'email' => 'mabel@codecourse.com'
]);
Метод
createQuietly не запускает никакие события, поэтому обработчики в наблюдателях моделей не сработают.Особенно удобно при тестировании с фабриками:
User::factory(3)->createQuietly();
Этот код создаст трёх пользователей без генерации событий.
Другие варианты "тихого" создания:
-
createOneQuietly() - для создания одной записи -
createManyQuietly() - для массового создания Эти методы помогают ускорить тесты и избежать побочных эффектов при работе с моделями.
📱 @dev_notes_ru
#Laravel #Eloquent #tips