preg_replace()laravel - 在数据库中插入数组

时间:2016-05-15 15:41:55

标签: laravel laravel-5.2

我有这个错误: helpers.php第748行中的ErrorException: preg_replace():参数不匹配,pattern是一个字符串,而replacement是一个数组

SerialController.php

public function createSerial(Request $request)
    {
        $serial = new Serial();
        $serial->nume_serial = $request['numeSerial'];
        $serial->claritate = $request['claritate'];
        $serial->aparitie = $request['aparitie'];
        $serial->genuri = $request['genuri'];

        $serial->save();
        return redirect('/admin');
    }

视图

<div class="checkbox">
                SF<input type="checkbox" name="genuri[1]" value="sf" id="">
            Biografic<input type="checkbox" name="genuri[2]" value="biografic" id="">
            Animat<input type="checkbox" name="genuri[3]" value="animat" id="">

        </div>

2 个答案:

答案 0 :(得分:1)

我想问题是你正在尝试将数组插入数据库表。

$serial->genuri = $request['genuri']; // it's an array

您可以将数组转换为json数据:

$serial->genuri = json_encode($request['genuri']);

当然,您必须更改genuri data type to JSON

$table->json('genuri');

答案 1 :(得分:0)

显然从查看您的视图来看,$request['genuri']是一个数组,错误就是这一行$serial->genuri = $request['genuri'];,因为您要将一个数组赋值给一个对象属性,该属性是字符串(我认为?)数据库表。

不确定您要完成的任务,如果您提供更多信息,我可能会提供更多帮助。