正如WMK所提到的,我们可以使用
SQLInsert
通过单个数据库插入调用将所有数据插入到数据库中。
以下是在SilverStripe 4中使用
SQLInsert
的示例。
以下代码将一个
$collection
数组插入到数据库中:
最初的回答:可以使用
SQLInsert
通过单个数据库插入调用将所有数据插入到数据库中。在SilverStripe 4中,以下代码将一个
$collection
数组插入到数据库中:
$insert = SilverStripe\ORM\Queries\SQLInsert::create('Item');
$insert->addRows($collection);
$insert->execute();
以下是一个示例项目集合,可插入到数据库中。添加了一个foreach循环,用于添加默认的Created和LastEdited值。这些不是必需的,但可能有用。如果未添加Created和LastEdited值,则在数据库中将为null。最初的回答如下:
以下是一个示例项目集合,可插入到数据库中。添加了一个foreach
循环,用于添加默认的Created
和LastEdited
值。这些不是必需的,但可能有用。如果未添加Created
和LastEdited
值,则在数据库中将为null
。
$collection = [
[
'Title' => 'Item 1',
'Content' => '<p>Content 1</p>',
],
[
'Title' => 'Item 2',
'Content' => '<p>Content 2</p>',
],
[
'Title' => 'Item 3',
'Content' => '<p>Content 3</p>',
],
];
$currentDate = date('Y-m-d H:i:s');
foreach ($collection as &$item)
BulkLoader
基类 - 框架中只有一个默认实现CsvBulkLoader
,但你可以编写自己的实现。 - scrowler