Laravel 5.1 表单提交数据(包含数组)插入数据库错误解决办法

当表单中有需要提交数组到数据库,比如要加一些客服QQ的信息,Laravel 会抛出输入的字段不能为数组的错误,解决办法也很简单。

增加多个QQ客服需要用到数组

《Laravel 5.1 表单提交数据(包含数组)插入数据库错误解决办法》

抛出的错误

ErrorException in helpers.php line 671:preg_replace(): Parameter mismatch, pattern is a string while replacement is an array

解决办法:

模型中把需要提交的字段“阻止”,在控制器中单独用Input接收并将其序列化,然后再进行保存就可以了。

模型示例:

class Shop extends Model
{
    public $timestamps=false;
    protected $guarded = ['qq','submit'];
}

控制器示例

public function store(CheckNameRequest $request)
{
    $shop = Shop::create(Input::get());
    $shop->qq = serialize(Input::get('qq'));
    $shop->save();
}

同理,在显示的时候将其反序列化即可。

原文地址:http://note.mango.im/article/24

    原文作者:mangostudio
    原文地址: https://segmentfault.com/a/1190000003832319
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞