2016-01-23 3 views
5

Ich versuche, mit Fabriken in Laravel Saatgut 5.2Ein vierstelliges Jahr konnte nicht gefunden werden Daten fehlen

Mein Code stirbt in der Fabrik Benutzer:

$factory->define(App\User::class, function (Faker\Generator $faker) { 
$countries = Countries::all()->pluck('id')->toArray(); 

return [ 
    'name' => $faker->name, 
    'email' => $faker->email, 
    'password' => bcrypt(str_random(10)), 
    'grade_id' => $faker->numberBetween(1, 5), 
    'country_id' => $faker->randomElement($countries), 
    'city' => $faker->city, 
    'latitude' => $faker->latitude, 
    'longitude' => $faker->longitude, 
    'role_id' => $faker->numberBetween(1, 3), 
    'verified' => true, 
    'remember_token' => str_random(10), 
    'provider' => '', 
    'provider_id' => str_random(5) 

]; 
}); 

mir diesen Fehler geben:

A four digit year could not be found Data missing 

Ich fand die Ursache, aber ich weiß nicht, wie ich es beheben kann.

Als ich das Werk nennen, ich nenne es wie folgt aus:

factory(User::class)->create(['role_id',2]); 

Wenn ich es so nennen:

factory(User::class)->create(); 

ich nicht mehr Fehler. Aber ich muss wirklich verschiedene Art von Benutzern säen ...

Irgendeine Idee ???

+4

zu tun haben Sie Schlüsselwert Array versuchten mit in erstellen wie: 'Werk (User :: Klasse) -> erstellen (['role_id' => 2]); ' – jakehallas

+1

OMG Also dumm! Bitte gib es als Antwort! –

+0

Ich habe das gleiche Problem, ich brauchte ungefähr 2 Minuten, um das '=>' anstelle von ',' im Array-Parameter von 'create' zu ​​bemerken. – anpel

Antwort

13

haben Sie Schlüsselwert-Array in der create Methode versucht:

factory(User::class)->create(['role_id' => 2]);

1

Ich könnte sein spät zur Party, ich war das gleiche Problem und es stellt sich seinen, weil ich einen Schlüssel zur Verfügung gestellt, ohne Ein Wert im Array zurückgegeben.

loswerden 'provider' => ''.

In Bezug auf die Ursache des Problems ich weiß nicht wirklich, aber es hat etwas mit Carbon-

+1

für mich war es das Datumsformat, das durch 'protected $ dateFormat =' Y-m-dH: i: sO '; 'zur Verfügung gestellt wurde, das wegen einer fehlerhaften Migration nicht mit dem Format der Spalte übereinstimmte. Kohlenstoff hat das nicht gefallen und hat einen Fehler "Daten fehlt" geworfen. – luchaos

Verwandte Themen