首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用雄辩的ORM在Laravel中进行批量插入

使用雄辩的ORM在Laravel中进行批量插入
EN

Stack Overflow用户
提问于 2012-10-03 14:16:17
回答 11查看 285.8K关注 0票数 198

我们如何使用Eloquent ORM在Laravel中执行批量数据库插入?

我想用Laravel:https://stackoverflow.com/a/10615821/600516来完成这个任务,但是我得到了下面的错误。

SQLSTATEHY093:参数编号无效:混合了命名参数和位置参数。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-11-28 07:54:16

您可以只使用Eloquent::insert()

例如:

$data = array(
    array('name'=>'Coder 1', 'rep'=>'4096'),
    array('name'=>'Coder 2', 'rep'=>'2048'),
    //...
);

Coder::insert($data);
票数 369
EN

Stack Overflow用户

发布于 2014-10-26 13:01:22

我们可以更新GTF answer来轻松地更新时间戳

$data = array(
    array(
        'name'=>'Coder 1', 'rep'=>'4096',
        'created_at'=>date('Y-m-d H:i:s'),
        'modified_at'=> date('Y-m-d H:i:s')
       ),
    array(
         'name'=>'Coder 2', 'rep'=>'2048',
         'created_at'=>date('Y-m-d H:i:s'),
         'modified_at'=> date('Y-m-d H:i:s')
       ),
    //...
);

Coder::insert($data);

更新:为了简化日期,我们可以按照@Pedro Moreira的建议使用carbon

$now = Carbon::now('utc')->toDateTimeString();
$data = array(
    array(
        'name'=>'Coder 1', 'rep'=>'4096',
        'created_at'=> $now,
        'modified_at'=> $now
       ),
    array(
         'name'=>'Coder 2', 'rep'=>'2048',
         'created_at'=> $now,
         'modified_at'=> $now
       ),
    //...
);

Coder::insert($data);

UPDATE2:对于laravel 5,使用updated_at而不是modified_at

$now = Carbon::now('utc')->toDateTimeString();
$data = array(
    array(
        'name'=>'Coder 1', 'rep'=>'4096',
        'created_at'=> $now,
        'updated_at'=> $now
       ),
    array(
         'name'=>'Coder 2', 'rep'=>'2048',
         'created_at'=> $now,
         'updated_at'=> $now
       ),
    //...
);

Coder::insert($data);
票数 89
EN

Stack Overflow用户

发布于 2017-06-04 20:13:00

这就是你如何以更有说服力的方式做到这一点,

    $allintests = [];
    foreach($intersts as $item){ //$intersts array contains input data
        $intestcat = new User_Category();
        $intestcat->memberid = $item->memberid;
        $intestcat->catid= $item->catid;
        $allintests[] = $intestcat->attributesToArray();
    }
    User_Category::insert($allintests);
票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12702812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档