2016-01-23 5 views
5

Sto cercando di seminare con fabbriche in laravel 5.2Un anno a quattro cifre non è stato trovato mancante dei dati

Il mio codice muore in fabbrica Utente:

$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) 

]; 
}); 

mi Dare questo errore:

A four digit year could not be found Data missing 

Ho trovato la causa, ma non so come risolverlo.

Quando chiamo la fabbrica, io lo chiamo così:

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

Se io lo chiamo così:

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

non ottengo altro errore. Ma ho davvero bisogno di seminare diversi tipi di utenti ...

Qualche idea ???

+4

Hai provato a usare array di valore chiave nella creazione del tipo: 'fabbrica (User :: classe) -> creare (['role_id' => 2]); ' – jakehallas

+1

OMG Così stupido! Per favore mettilo come risposta! –

+0

Ho lo stesso problema, mi ci sono voluti circa 2 minuti per notare il '=>' invece di ',' nel parametro array di 'create'. – anpel

risposta

13

Hai provato a usare array di valore chiave nel metodo create:

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

1

potrei essere in ritardo alla festa, ho avuto lo stesso problema e si scopre il suo perché ho fornito una chiave senza un valore nella matrice restituito.

eliminare 'provider' => ''.

Per quanto riguarda la causa del problema che in realtà non lo so, ma ha qualcosa a che fare con Carbon

+1

per me era il formato data fornito tramite 'protected $ dateFormat = 'Y-m-d H: i: sO';' che non corrispondeva al formato della colonna a causa di una migrazione borked. al carbonio non piaceva e ha gettato un errore "dati mancanti". – luchaos

Problemi correlati