无法在Laravel中的多个阵列中保存数据

时间:2015-04-23 07:04:51

标签: php arrays laravel

我正在尝试在具有多个阵列的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
        )

如何保存包含多个数组的数据?

3 个答案:

答案 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);
}