Php 在Laravel中保存动态表单字段数据

Php 在Laravel中保存动态表单字段数据,php,mysql,laravel,laravel-5,eloquent,Php,Mysql,Laravel,Laravel 5,Eloquent,我有一个示例,您可以通过单击按钮添加多行,我希望将数据存储到数据库中 这是我在提交表单-数组到字符串转换时遇到的错误 表单输入我没有发布表单元素,因为我认为我不需要在这里显示它 <input type="text" class="form-control" name="customer[]" /> <input type="text" class="form-control" name="produce[]" /> <select class="form-contr

我有一个示例,您可以通过单击按钮添加多行,我希望将数据存储到数据库中

这是我在提交表单-数组到字符串转换时遇到的错误

表单输入我没有发布表单元素,因为我认为我不需要在这里显示它

<input type="text" class="form-control" name="customer[]" />
<input type="text" class="form-control" name="produce[]" />
<select class="form-control" name="task[]">
    <option value=""></option>
    <option value="Pick Up">Pick Up</option>
    <option value="Delivery">Delivery</option>
</select>
<input type="text" class="form-control" name="units[]" />

您试图存储这些值列表的数据库列是字符串,您正在将数组传递给清单的构造函数,因此会出现错误

为了修复它,您需要告诉Laravel这些值将是数组,以便它可以在数组和字符串之间进行必要的转换——它在内部将其编码为JSON

您需要在模型中添加以下内容:

protected $casts = [
  'customer' => 'array',
  'produce' => 'array',
  'task' => 'array',
  'units' => 'array',
];

您试图存储这些值列表的数据库列是字符串,您正在将数组传递给清单的构造函数,因此会出现错误

为了修复它,您需要告诉Laravel这些值将是数组,以便它可以在数组和字符串之间进行必要的转换——它在内部将其编码为JSON

您需要在模型中添加以下内容:

protected $casts = [
  'customer' => 'array',
  'produce' => 'array',
  'task' => 'array',
  'units' => 'array',
];

嘿,我还有一些关于显示数据的问题,有什么地方可以聊天吗?你可以发布另一个问题,我相信这里有人会帮助:)甚至我,稍后嘿,我还有一些关于显示数据的问题,有什么地方可以聊天吗?你可以发布另一个问题,我相信这里有人会帮助:)甚至我,稍后