我正在尝试在具有多个阵列的Laravel中保存数据。
数组如下所示:
Array
(
[0] => Array
(
[client_personnel_name] => Ron
[client_id] => 52
[client_personnel_email] => abc@gmail.com
)
[1] => Array
(
[client_personnel_name] => John
[client_id] => 52
[client_personnel_email] => abc@gmail.com
)
)
保存此数据时:
$personnel = ClientsPersonnel::create($client_personnel);
$personnel->save();
在调试要插入的数据时。 这就是我在存储发送数据的属性中得到的结果
[attributes:protected] => Array
(
[updated_at] => 2015-04-23 06:53:05
[created_at] => 2015-04-23 06:53:05
[id] => 2
)
如何保存包含多个数组的数据?
答案 0 :(得分:1)
您可以使用DB::insert()
,如下所示:
DB::table('client_personnel')->insert(array($client_personnel));
作为替代方案,您可以使用循环来完成此操作。
foreach ($personnels as $personnelAttributes) {
$personnel = new ClientsPersonnel($personnelAttributes);
$personnel->save();
}
此致
答案 1 :(得分:0)
Laravel Eloquent没有批量更新或插入功能。您需要为每个子阵列创建新的ClientsPersonnel并单独保存。
答案 2 :(得分:0)
只需循环数组并单独插入:
foreach ($client_personnel as $client) {
ClientsPersonnel::create($client);
}