我将数据存储到array [],当我做dd(($ request)); 我可以看到带有日期的数组.
问我如何将它存储在DB中?
刀
<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>
Run Code Online (Sandbox Code Playgroud)
您有两个主要选择:
选项1:
首先序列化数组并保存:
$arr = serialize($request['array']);
Run Code Online (Sandbox Code Playgroud)
然后,当您检索数据时,您会执行以下操作:// $ model-> attribute将替换为ur Model name和attribute $ data = unserialize($ model-> attribute);
这是文档:http://us.php.net/manual/en/function.serialize.php
选项2:
从数组手动构造一个字符串并将其保存为字符串:// !!是你可以使用任何你想要的分隔符... $ data = implode('!!',$ request ['array]);
你可以使用以下方法恢复数组:
$array = explode('!!', $model->attribute);
Run Code Online (Sandbox Code Playgroud)
对于Laravel:
您可以编写一个getter来将数据作为数组获取,而无需手动执行:
public function getSomethingAttribute($value)
{
// if using serialize
return unserialize($value);
// or if using implode
return explode('!!', $value)
}
Run Code Online (Sandbox Code Playgroud)
额外:
如果数据库字段设置为JSON或Text,您也可以将其存储为JSON ...如果是这种情况解析数组并保存它.
| 归档时间: |
|
| 查看次数: |
1729 次 |
| 最近记录: |