2017-05-23 2 views
-1

Ich habe ein Modell Fabrik wie dieseLaravel Seeder Array String-Konvertierung

$factory->define(App\Sale::class, function (Faker\Generator $faker) { 
return [ 
    'unit' => $faker->randomDigit, 
    'street_no' => $faker->randomDigit, 
    'street_name' => $faker->streetName, 
    'street_type' => $faker->streetSuffix, 
    'suburb' => $faker->randomElements(['Melton South','Melton West','Rye']), 
    'postcode' => $faker->numberBetween($min=1000, $max=4000), 
    'sale_date' => $faker->dateTimeThisYear, 
]; 
}); 

Datenbank Seeder läuft es

factory(App\Sale::class, 5)->create(); 

Das Problem ist, wenn ich es laufen php artisan db:seed Ich erhalte den Fehler

[Illuminate\Database\QueryException] 
    Array to string conversion (SQL: insert into `sales` (`unit`, `street_no`, 
    `street_name`, `street_type`, `suburb`, `postcode`, `sale_date`, 
`updated_at`, `created_at`) 
values (7, 1, Labadie Centers, Bridge, Rye, 3758, 2016-08-12 1 
    5:02:07, 2017-05-23 13:16:56, 2017-05-23 13:16:56)) 

Der Fehler sql zeigt keine Arrays, die ich sehen kann.

Wenn ich das sql in meine DB-App eingefügt habe und es ausgeführt habe, um es zum Laufen zu bringen, musste ich alle Zeichenfolgen zitieren, aber Laravel-Dokumente sagen nichts darüber, wenn sie faker benutzen? Fehle ich etwas in der Modellfabrik?

exi

+2

zu ändern, wer downvoted, Gratulation zu Ihrem Ego – yoyoma

Antwort

5

Try

'suburb' => $faker->randomElements(['Melton South','Melton West','Rye']),

zu

'suburb' => $faker->randomElement(['Melton South','Melton West','Rye']),

+0

omg danke ich war für eine Minute auf Ihre Antwort und starrte Denken, was ist der Unterschied? haha was für ein Fräulein. wird in ein paar Minuten akzeptieren, wenn es mich lässt – yoyoma