如何在doctrine zend框架中的flush之前插入行之后返回多个id

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在doctrine zend框架中的flush之前插入行之后返回多个id相关的知识,希望对你有一定的参考价值。

我插入多行,我想在doctrine zend框架3中同时检索所有行id。

        foreach($rippleids as $rid)
        {
            $scheduleItem=[];
            $scheduleId=[];
            $rippleid = StaticFilter::execute($rid, 'StringTrim');
            if (empty($rippleid)) {
            continue; 
            }

                //return;
        $schedule= new Schedule();

        $id= uniqid();
        $schedule->setScheduleUId($id);
        $ripple=$this->entityManager->getRepository(Ripple::class)->findOneBy(['id'=>$rippleid,'status'=>[1,2]]);
        $schedule->setRipple($ripple);
        $template=$this->entityManager->getRepository(Template::class)->findOneBy(['Id'=>$data[2]]);
        $schedule->setTemplate($template);
        $schedule->setStatus(1);
        $schedule->setScheduleName($data[1]);
        $schedule->setRecordingEnable($data[5]);
        $schedule->setStartDateTime($startDateTime);
        $schedule->setEndDateTime(  $endDateTime);
        $schedule->setScheduleStatus(0);
        $schedule->setModifiedDate(date("Y-m-d H:i:s"));
        $schedule->setSyncStatus(0);
        $this->entityManager->persist($schedule);
$this->entityManager->persist($schedule);
        $scheduleId=$schedule->getScheduleId(); 

此代码只返回一个Id,但我想检索所有插入id的行

答案

这是一个简单的问题,你需要在$ scheduleId上添加[]。

看起来像这样:$ scheduleId [] = $ schedule-> getScheduleId();

以上是关于如何在doctrine zend框架中的flush之前插入行之后返回多个id的主要内容,如果未能解决你的问题,请参考以下文章

Zend2 框架 - 给映射异常的 Doctrine ORM

在 Zend 框架 2 中使用 MappedSuperclass 的 Doctrine 2 多对多

DQL 语句在使用 Zend Framework 和 Doctrine 的应用程序中的位置

Zend+Doctrine2:如何使用 ArrayCollections() 正确刷新实体?

如何避免与 Doctrine2 和 Zend Framework 2 的多对多关系重复?

zend 框架 2 + 教义 2 安装