2017-05-31 43 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))       

看來,SQL雄辯是創造播種缺乏,他們是neede引號。在正確的地方添加引號(如下)允許它運行。

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

的問題是不是與報價。在你ModelFactory.php,在功能getTypePhonegetTypeEmailgetTypeAddress你正在返回

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

$faker->randomElements返回數組。而應使用$faker->randomElement從數組中返回一個元素。

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

謝謝!容易錯過那裏。有時你需要第二套眼睛。仍然需要在模型工廠中找出其他一些東西,但是至少這個錯誤是至關重要的。 –

相關問題