我已经在$fillable中加了images字段,但是create的时候老是保存不进去

模型

protected $fillable = [
    'user_id', 'type', 'content', 'images'
];

插入

$dynamic = Dynamic::create([
    'user_id' => auth('api')->id(),
    'content' => request()->post('content', ''),
    'images' => implode(',', $images)
]);
//=== 下面这种方式也不行 ===
$dynamic = Dynamic::create([
    'user_id' => auth('api')->id(),
    'content' => request()->post('content', ''),
    'images' => '1111111111111', //implode(',', $images)
]);

报错

#sql: "insert into `dynamics` (`user_id`, `content`, `updated_at`, `created_at`) values (?, ?, ?, ?)"
  #bindings: array:4 [
    0 => 100000
    1 => ""
    2 => "2020-08-07 09:41:32"
    3 => "2020-08-07 09:41:32"
  ]
  #message: "SQLSTATE[HY000]: General error: 1364 Field 'images' doesn't have a default value (SQL: insert into `dynamics` (`user_id`, `content`, `updated_at`, `created_at`) values (100000, , 2020-08-07 09:41:32, 2020-08-07 09:41:32))"

我又加了一个images2字段,就可以保存,images是laravel的关键词吗????

让PHP再次伟大
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

发现问题了,我是傻逼,我之前在控制器中把数组转为字符串,然后后来再另一个地方需要保存的时候就用修改器来转换了,所以导致修改器中取消了字符串类型的images

3年前 评论
讨论数量: 4

打印一下 implode(',', $images),应该是返回空了

3年前 评论
勇敢的心 (楼主) 3年前

下面的错误不是说了么,images字段没有默认值

3年前 评论
勇敢的心 (楼主) 3年前

在数据表设置默认值,就好了

3年前 评论
勇敢的心 (楼主) 3年前

发现问题了,我是傻逼,我之前在控制器中把数组转为字符串,然后后来再另一个地方需要保存的时候就用修改器来转换了,所以导致修改器中取消了字符串类型的images

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!