Ist es möglich zu verhindern, dass Laravel Model Events ausführt, wenn die Datenbank seeded wird?

8

Laravels Seeder führt eine Vielzahl von Model Events auf meinen Modellen aus, die unter anderem New Order Emails aus dem Product::saved() Model Event auslösen.

Dies verlangsamt das Datenbank-Seeding erheblich. Ist es möglich, zu erkennen, ob ein Seed ausgeführt wird, und wenn ja, bitte Laravel, die Model Events nicht auszuführen?

    
Jack 27.05.2015, 20:10
quelle

2 Antworten

15

Es gibt Funktionen in der Klasse Model , mit denen Sie Ereignisse ignorieren können.

Bevor Sie ein Modell zum Seeding verwenden, müssen Sie so etwas tun ...

%Vor%     
user3158900 27.05.2015 20:27
quelle
10

Ich empfehle, den Dispatcher in diesem Fall aus dem Eloquent Model zu entfernen.

Zum Beispiel.

%Vor%     
thisisablock 27.05.2015 20:53
quelle