Php Laravel存储多值Json格式

Php Laravel存储多值Json格式,php,arrays,json,laravel,mariadb,Php,Arrays,Json,Laravel,Mariadb,我试图从表单中抛出JSON格式的SQL信息。我将信息保存在SQL区域中,但它以SQL escape的形式保存。当我用API拍摄时,我不能随心所欲地使用它。代码如下。我不知道我在哪里犯了错误,但我找不到解决办法 “为工人迁移”列 $table->text('workers')->nullable(); Model我写到表中的workers列是数组格式的 protected $casts = [ 'workers' => 'array', ]; 刀片或视

我试图从表单中抛出JSON格式的SQL信息。我将信息保存在SQL区域中,但它以SQL escape的形式保存。当我用API拍摄时,我不能随心所欲地使用它。代码如下。我不知道我在哪里犯了错误,但我找不到解决办法

“为工人迁移”列

$table->text('workers')->nullable();
Model我写到表中的workers列是数组格式的

protected $casts = [
        'workers' => 'array',
    ];
刀片或视图需要在此处保存多个数据,如名称、id等

<select class="js-example-basic-multiple searchselect form-control show-tick" name="workers[]" multiple="multiple">
     @foreach ($personels as $personel)
<option value='{"spid":{{ $personel->id }},"spsicil":{{ $personel->sicil_no }},"spname":"{{ $personel->name }}"}'>{{ $personel->name }}</option>
     @endforeach
</select>
我习惯于将传入数据转换为数组格式,但我不确定正确的格式

它将workers列记录在表中,如下所示

"[
{\"spid\":1,\"spsicil\":35678909,\"spname\":\"Mike\"},
{\"spid\":5,\"spsicil\":3,\"spname\":\"Jhon\"},
{\"spid\":4,\"spsicil\":44,\"spname\":\"Erica\"}
]"
多值如何以数组或json格式正确添加到数据库


感谢您的建议和帮助

这里的问题是,字符串被JSONified了两次

我建议您从代码中删除以下行

$workers = implode(',', $request->workers);
$new = "[".$workers."]";
更新代码应为:

    $data = new Zimmet();
    $data->name = $request->name;
    $data->sicil_no = $request->sicil_no;
    $data->proje_id = $request->proje_id;
    $data->workers = $request->workers;
    $data->save();
说明:

protected $casts = [
    'workers' => 'array',
];
在存储到数据库和从数据库获取数据时,负责将数组序列化和反序列化为JSON

我希望,这会对你有所帮助

最好的

参考:

protected $casts = [
    'workers' => 'array',
];