Php Laravel存储多值Json格式
我试图从表单中抛出JSON格式的SQL信息。我将信息保存在SQL区域中,但它以SQL escape的形式保存。当我用API拍摄时,我不能随心所欲地使用它。代码如下。我不知道我在哪里犯了错误,但我找不到解决办法 “为工人迁移”列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', ]; 刀片或视
$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',
];