我有一些JSON格式的列。例如,数据库中的“Bank”列如下所示:
{"name":"Bank of America", "card":"6037...", "account":"321354...", "expire" : "2018-12-09"}我在模型中使用了Laravel Cast:
protected $casts = [
'bank' => 'array',
]鉴于我的表单文件由以下名称命名:
<input name="bank[name]" ...>
<input name="bank[account]" ...>
<input name="bank[card]" ...>现在当我想更新数据库中的银行时。当我用这个
$profile->fill($request->only('bank'));
$profile->save();每件事都正常。但当我用这个
$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->银行‘卡’);}
发布于 2018-12-24 21:09:31
我不确定这一点,但在错误信息中,我看到了银行推车。在你的html中有银行卡,也许只是一个错误。
https://stackoverflow.com/questions/53917503
复制相似问题