drpogkqqi536984960 2016-08-08 14:46
浏览 84

使用Symfony在PHP中查询MySql

What is difference between

In application 1 / 2:

$qb = $this->createQueryBuilder('tu');

                $transUnits = $qb->select('tu, te')
                    ->leftJoin('tu.translations', 'te')
                    ->andWhere($qb->expr()->in('tu.id', $ids))
                    ->andWhere($qb->expr()->in('te.locale', $locales))
                    ->orderBy(sprintf('tu.%s', $sortColumn), $order)
                    ->getQuery()
                    ->getArrayResult();

and

$qb = $this->createQueryBuilder('tu');

                $transUnits = $qb->select('tu, te')
                    ->leftJoin('AppBundle:Translation', 'te')
                    ->andWhere($qb->expr()->in('tu.id', $ids))
                    ->andWhere($qb->expr()->in('te.locale', $locales))
                    ->orderBy(sprintf('tu.%s', $sortColumn), $order)
                    ->getQuery()
                    ->getArrayResult();

The functions are called with the exact same parameters.

In the second case I replace 'tu.translations' with 'AppBundle:Translation' because do not recognize 'translations' where translations is define:

<one-to-many field="translations" target-entity="TranslationBundle\Entity\Translation" mapped-by="transUnit">
            <cascade>
                <cascade-all/>
            </cascade>
</one-to-many>

In the first case result is: array(13) { ... } and this is the correct format result; in the second case wrong format result is: array(70) { ... }

  • 写回答

1条回答 默认 最新

  • dongpan8439 2016-08-09 06:14
    关注

    I add in entity class:

    /**
         * @var \Translation
         * @ORM\OneToMany(targetEntity="Translation", mappedBy="transUnit")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="id", referencedColumnName="trans_unit_id")
         * })
         */
        protected $translations;
    

    and

    /**
         * @var \TransUnit
         *
         * @ORM\ManyToOne(targetEntity="TransUnit", inversedBy="translations")
         * @ORM\JoinColumns({
         *   @ORM\JoinColumn(name="trans_unit_id", referencedColumnName="id")
         * })
         */
        protected $transUnit;
    

    And work. :)

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能