首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel :当我使用$request->all()时填充()和update()不工作,而是在fill中工作($request->只(‘.’))

Laravel :当我使用$request->all()时填充()和update()不工作,而是在fill中工作($request->只(‘.’))
EN

Stack Overflow用户
提问于 2018-12-24 20:37:12
回答 1查看 4K关注 0票数 2

我有一些JSON格式的列。例如,数据库中的“Bank”列如下所示:

代码语言:javascript
复制
{"name":"Bank of America", "card":"6037...", "account":"321354...", "expire" : "2018-12-09"}

我在模型中使用了Laravel Cast

代码语言:javascript
复制
protected $casts = [
    'bank' => 'array',
]

鉴于我的表单文件由以下名称命名:

代码语言:javascript
复制
<input name="bank[name]" ...>
<input name="bank[account]" ...>
<input name="bank[card]" ...>

现在当我想更新数据库中的银行时。当我用这个

代码语言:javascript
复制
$profile->fill($request->only('bank'));
$profile->save();

每件事都正常。但当我用这个

代码语言:javascript
复制
$profile->fill($request->all());
$profile->save();

我犯了这个错误

SQLSTATE42S22:列未找到: 1054列“字段列表”中的“银行卡”(SQL: update.

怎么了?!

解决方案,感谢@Jonas ::

问题是:在Requests>myFormRequest中,我用以下方式清理了我的数据: 如果($this->bank‘’card‘){ $input['bankcard'] = preg_replace("/^0-9/","",$this->银行’卡‘);} 这对数组来说是错误的。我把它改成了这个,每件事都很完美。如果($this->bank‘’card‘){ $input'bank’= preg_replace("/^0-9/","",$this->银行‘卡’);}

EN

回答 1

Stack Overflow用户

发布于 2018-12-24 21:09:31

我不确定这一点,但在错误信息中,我看到了银行推车。在你的html中有银行卡,也许只是一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53917503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档