Laravel如何将数组存储到数据库中
当我执行dd($request))时,我将数据存储到数组[];我可以看到带有日期的数组 问题:如何将其存储在数据库中 刀片Laravel如何将数组存储到数据库中,laravel,Laravel,当我执行dd($request))时,我将数据存储到数组[];我可以看到带有日期的数组 问题:如何将其存储在数据库中 刀片 <div class="form-group"> <label for="qualifiche">qualifiche:</label> <input type="checkbox" name="array[]" value="uno" > Uno
<div class="form-group">
<label for="qualifiche">qualifiche:</label>
<input type="checkbox" name="array[]" value="uno" > Uno <br>
<input type="checkbox" name="array[]" value="due"> Due <br>
<input type="checkbox" name="array[]" value="tre"> Tre <br>
</div>
资格:
Uno
到期日
Tre
您有两个主要选项:
选项1:
首先序列化数组并保存它:
$arr = serialize($request['array']);
然后在检索数据时,执行以下操作:
//$model->attribute将替换为您的模型名称和属性
$data=unserialize($model->attribute)
以下是文件:
选项2:
从数组中手动构造字符串并将其另存为字符串:
//
是您可以使用任何所需的分隔符。。。
$data=内爆('!!',$request['array])
您可以使用以下方法恢复阵列:
$array = explode('!!', $model->attribute);
对于Laravel:
您可以编写一个getter来获取作为数组的数据,而无需手动执行:
public function getSomethingAttribute($value)
{
// if using serialize
return unserialize($value);
// or if using implode
return explode('!!', $value)
}
额外:
如果数据库字段设置为JSON或Text,您也可以将其存储为JSON。如果是这样,请解析数组并保存它。为什么所有输入都有相同的名称?这样你就可以得到一个them@Itisallyours因为它们结合在一起array@Itisallyours因为是数组,那么要插入的字段和表是什么?什么是字段类型使用
序列化($request->input('array'))
存储和取消序列化($model->field_name)
检索一个问题我可以在“创建”或outside@Matteo无论您喜欢什么:Model::create(['attribute'=>serialize($request['array'])…])
或$data=$request['array'];代码>。然后使用$data