Für die folgende Werksdefinition muss die Spalte order
fortlaufend sein. Es gibt bereits eine Spalte id
, die automatisch inkrementiert wird. Die erste Zeile des order
sollte 1
und jede zusätzliche Reihe Anfang order
sollte die nächste Nummer (1
, 2
, 3
, etc.) seinLaravel Factory: Manuelles Erhöhen der Spalte
$factory->define(App\AliasCommand::class, function (Faker\Generator $faker) {
return [
'user_id' => App\User::inRandomOrder()->first()->id,
'command' => $faker->word,
'content' => $faker->sentence,
'order' => (App\AliasCommand::count()) ?
App\AliasCommand::orderBy('order', 'desc')->first()->order + 1 : 1
];
});
Es sollte die order
Spalte werden Einstellung der vorherigen Zeile zu 1 mehr als es führt jedoch dazu, dass alle Zeilen 1
zugewiesen werden.
Sind Sie damit einverstanden, doppelte Werte für das Auftragsfeld zu erhalten? Diese Lösung verhindert Rennbedingungen nicht. –