как вставить несколько строк в цикле, используя доктрину 2 - PullRequest
4 голосов
/ 31 мая 2011

Я хочу вставить несколько строк в цикл, используя доктрину 2 ..

Я обычно вставляю 1 запись, используя это:

$ Entity-> setData ($ posts);$ Это -> _ doctrine-> сохраняются ($ Entity);$ Это -> _ doctrine-> флеша ();

Ответы [ 2 ]

3 голосов
/ 01 июня 2011

Просто сохраните все ваши объекты и затем вызовите flush () после цикла.

    $entityDataArray = array();  // let's assume this is an array containing data for each entity
    foreach ($entityDataArray AS $entityData) {
        $entity = new \Entity();
        $entity->setData($entityData);
        $this->_doctrine->persist($entity);
    }
    $this->_doctrine->flush();

Если вы вставляете большое количество объектов, вам потребуется пакетная вставка (см. http://www.doctrine -project.org / docs / orm / 2.0 / en / reference / batch-processing.html )

0 голосов
/ 31 мая 2011

Внутри вашего цикла вы должны быть в состоянии:

$entity1->setData($data1);
$this->_doctrine->persist($entity1);

$entity2->setData($data2);
$this->_doctrine->persist($entity2);

$this->_doctrine->flush();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...