Laravel如何将数组存储到数据库中

Laravel如何将数组存储到数据库中,laravel,Laravel,当我执行dd($request))时,我将数据存储到数组[];我可以看到带有日期的数组 问题:如何将其存储在数据库中 刀片 <div class="form-group"> <label for="qualifiche">qualifiche:</label> <input type="checkbox" name="array[]" value="uno" > Uno

当我执行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>

资格:
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