我正在尝试在我的Laravel安装上运行sudo php artisan migrate db:seed并收到以下错误:
[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 Eloquent正在为播种创建缺少引号的地方.在正确的位置(下方)添加引号可以运行它.
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');
我不确定是什么导致了这个错误,并且搜索Eloquent没有添加引用的原因似乎未能产生任何有用的结果.
我有一个repository,所以你可以看看(因为作为一个开源项目,它还需要一个.)
最佳答案 问题不在于报价.在ModelFactory.php中,在函数getTypePhone,getTypeEmail和getTypeAddress中返回
return $faker->randomElements(array('Work', 'Cell', 'Home', "VoIP"));
$faker-> randomElements返回一个数组.相反,使用$faker-> randomElement从数组中返回单个元素.
return $faker->randomElement(array('Work', 'Cell', 'Home', "VoIP"));