如何在Laravel中不使用foreach的情况下存储请求数组?

时间:2019-04-11 10:58:21

标签: php laravel eloquent

我在发布请求中有一个数组,如下所示:

$data = array(
    array('title'=>'1st title', 'desc'=>'desc'),
    array('title'=>'2nd title', 'desc'=>'desc'),
    array('title'=>'3rd title', 'desc'=>'desc'),
)

Laravel中是否有一种使用口才的方法,我可以不使用foreach来保存上述数据?请注意,我在请求中得到的数组键与表的列名不同。

3 个答案:

答案 0 :(得分:2)

我希望这会对您有所帮助

$data = [
    ['title' => '1st title', 'desc' => 'desc'],
    ['title' => '2nd title', 'desc' => 'desc']
    .....
];

DB::table('users')->insert($data);

将所有要插入的值放入数组中,然后将其传递给insert函数。

来源:https://laravel.com/docs/5.1/queries#inserts

答案 1 :(得分:0)

尝试一下:

DB::table('table_name')->insert($data);

答案 2 :(得分:0)

雄辩:就像Sethu提到的那样,但以下几行将是:

Model::insert($data); // eg: Posts::insert($your_request_array);

只需在此处直接传递数组:上面将在成功时返回true。