2017-05-31 4 views
4

私はLaravelのインストールにsudo php artisan migrate db:seedを実行しようと、次のエラーを取得しています:Laravel EloquentがSQLを引用符なしで生成するのはなぜですか?

[Illuminate\Database\QueryException]                           
    Array to string conversion (SQL: insert into `sponsor_phones` (`phone_number`, `type`, `is_primary`, `sponsor_id`, `updated_at`, `created_at 
    `) values (247-216-6255 x4356, Home, 1, 101, 2017-05-30 23:31:59, 2017-05-30 23:31:59))       

彼らがneedeている引用符を欠いSQL雄弁は、播種のために作成されているようです。適切な場所(下)に引用を追加すると、それを実行することができます。

insert into 
`sponsor_phones` 
(`phone_number`, 
`type`, 
`is_primary`, 
`sponsor_id`, 
`updated_at`, 
`created_at` 
) 
    values 
    (
    '(732) 540-9730', 
    'Busi', 
    0, 
    51, 
    '2017-05-27 21:53:44', 
    '2017-05-27 21:53:44'); 

私はこのエラーを引き起こし、そして雄弁は引用を追加していない理由を探して何かわからないが、いずれかの有用な結果を生成するために失敗しているようです。

私はあなたが見てみることができるようにアップrepositoryを持っている(とためのオープンソースプロジェクトとしては、とにかく1が必要です。)

答えて

1

問題はクォーテーションではありません。あなたのModelFactory.phpでは、機能getTypePhonegetTypeEmailgetTypeAddressに、あなたは配列を返す$faker->randomElements

return $faker->randomElements(array('Work', 'Cell', 'Home', "VoIP")); 

を戻ってきています。代わりに、$faker->randomElementを使用して、配列から単一の要素を戻します。

return $faker->randomElement(array('Work', 'Cell', 'Home', "VoIP")); 
+0

ありがとうございました!簡単にそこに見逃す。時には目の2番目のセットが必要です。まだモデル工場で他のものを見つけ出す必要がありますが、そのエラーは少なくとも処理されます。 –

関連する問題