odm的版本是1.0.0beta3,我也尝试使用1.0.0rc1,结果相同。
代码如下所示:
$batchSize = 100;
foreach ($data as $name)
{
$doc = new \SomeDocument;
$doc->setName($name);
$dm->persist($doc);
$i++;
if ($i % $batchSize == 0)
{
$dm->flush();
$dm->clear();
}
}
$dm->flush();
谁能告诉我什么是错的?感谢
答案 0 :(得分:1)
您还没有提到您正在使用的索引等等,但我们假设它是默认值,并且您没有遇到唯一性问题(特别是因为您的结果是可变的)。听起来你的一些写作失败/迷路。
尝试使用以下命令运行批量插入
$dm->flush(array('safe'=>true));
它会慢一点,但至少它现在应该在你看到失败时抛出异常而你可以从那里拿走它。