Heim  >  Artikel  >  Backend-Entwicklung  >  Laravel 5.1 表单提交数据(包含数组)插入数据库错误解决办法

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

WBOY
WBOYOriginal
2016-07-23 08:54:431357Durchsuche

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

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

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

抛出的错误

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

解决办法:

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

模型示例:

  1. class Shop extends Model
  2. {
  3. public $timestamps=false;
  4. protected $guarded = ['qq','submit'];
  5. }
复制代码

控制器示例

  1. public function store(CheckNameRequest $request)
  2. {
  3. $shop = Shop::create(Input::get());
  4. $shop->qq = serialize(Input::get('qq'));
  5. $shop->save();
  6. }
复制代码

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

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

解决办法, Laravel


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn