【发布时间】:2019-05-21 12:52:26
【问题描述】:
问题在于 tinker 没有将内容包装在字符串中
使用消息'SQLSTATE[HY000] 照亮/数据库/查询异常: 一般错误:1364 字段 'address_line_2' 没有默认值 值(SQL:插入
Test(name,gender,mobile_phone,alternate_phone,status,address_line_1,updated_at,created_at) 价值观 (emitchell, dariana66@hotmail.com, Kendra Friesen, Ole Carter, Gennaro Hickle, Prof. Brandon Herman 博士, 2018-12-21 01:07:12, 2018-12-21 01:07:12))'
如果我手动将引号添加到每个值,例如
values ('emitchell', 'dariana66@hotmail.com', 'Kendra
Friesen', 'Ole Carter', 'Gennaro Hickle', 'Prof. Brandon Herman PhD',
'2018-12-21 01:07:12', '2018-12-21 01:07:12')
有效
如何让 tinker 在引号中生成随机内容?
我什至用(string)
$factory->define(App\Test::class, function (Faker $faker) {
return [
'name' => (string)$faker->sentence(),
'gender' => (string)$faker->sentence(),
'mobile_phone' => (string)$faker->sentence(),
'alternate_phone' => (string)$faker->sentence(),
'status' => (string)$faker->sentence(),
'address_line_1' => (string)$faker->sentence(),
'address_line_2' => (string)$faker->sentence(),
'town_city' => (string)$faker->sentence(),
'postscode' => (string)$faker->sentence(),
'notes' => (string)$faker->sentence()
];
});
或来自 github 页面的示例
'name' => $faker-> sentence($nbWords = 6, $variableNbWords = true), // 'Sit vitae voluptas sint non voluptates.'
它不会输出字符串值...
发生了什么?
【问题讨论】:
-
我没有使用faker或tinker。如果
$faker->sentence()为空,那么(string)$faker->sentence()将为空。也许你可以让address_line_2可以为空? -
$faker->sentence()不为空......只是没有引用它......我得到了这样的东西lorem ipsum没有引号它不会在 mysql 上工作......我手动添加了半列句子'lorem ipsum'它有效......这就是我添加(字符串)的原因