小编典典

使用 eloquent ORM 在 Laravel 中进行批量插入

all

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

我正在处理一个 XML 文档,循环遍历它的元素。我想在 Laravel 中完成这样的事情:

$sXML = download_page('http://remotepage.php&function=getItems&count=100&page=1');
$oXML = new SimpleXMLElement($sXML);
$query = "INSERT INTO tbl_item (first_name, last_name, date_added) VALUES";
foreach($oXML->results->item->item as $oEntry){
    $query .=  "('" . $oEntry->firstname . "', '" . $oEntry->lastname . "', '" . date("Y-m-d H:i:s") . "'),";
}
mysql_query($query);

但我收到以下错误。

SQLSTATE[HY093]:无效参数号:混合命名参数和位置参数。


阅读 43

收藏
2022-06-27

共1个答案

小编典典

你可以只使用Eloquent::insert().

例如:

$data = [
    ['name'=>'Coder 1', 'rep'=>'4096'],
    ['name'=>'Coder 2', 'rep'=>'2048'],
    //...
];

Coder::insert($data);
2022-06-27