我将数据存储到array []中,当我执行dd(($ request));我可以看到带有日期的数组。
问我如何将它存储在数据库中?
叶片
<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>
答案 0 :(得分:5)
您有两个主要选择:
选项1:
首先序列化数组并保存:
$arr = serialize($request['array']);
然后当您检索数据时,您执行以下操作: // $ model-&gt;属性将替换为ur Model name和attribute $ data = unserialize($ model-&gt; attribute);
以下是文档:http://us.php.net/manual/en/function.serialize.php
选项2:
从数组手动构造一个字符串并将其另存为字符串:
// !!
是你可以使用任何你想要的分隔符...
$ data = implode(&#39; !!&#39;,$ request [&#39; 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 ...如果案例解析数组并保存它。