繁体   English   中英

如何获得在Doctrine ORM中重复的特定列?

[英]How to get specific column that is duplicated in Doctrine ORM?

如何通过Doctrine ORM获得名称重复的特定列?

我正在使用使用Zend制作的自定义引擎的项目。 问题是我在2个表中有重复的列名(c_naslovi和c_sportovi)

我可以做列重命名吗? 我该怎么做? 我是新手,对n00b问题很满意:)

$q = new Doctrine_RawSql();
        $q->select("{p.*}, {n.*}, {np.*}, {sp.*}")
            ->from("c_ponude p LEFT JOIN c_naslovi n ON p.NaslovID = n.NaslovID 
                LEFT JOIN c_nasloviprijevodi np ON np.NaslovID = n.NaslovID 
                LEFT JOIN c_sportovi sp ON n.SportID = sp.SportID")
            ->where("p.DatumVrijemeOdigravanja > NOW()")
            ->andWhere("(p.IndikatorPonude = 'P' OR p.IndikatorPonude = 'H')")
            ->andWhere("p.KoeficijentZbroj > 0")
            ->andWhere("p.BrojPonude = ?", array($offerId))
            ->orderby("p.RedniBrojRazrade")         
            ->addComponent("p", "cPonude p")
            ->addComponent("n", "p.cNaslovi n")
            ->addComponent("np", "n.cNasloviprijevodi np")
            ->addComponent("sp", "n.cSportovi sp");

    $offer = $q->execute();

如果我正确理解了您的问题,则可以通过添加别名来解决此问题,但是Doctrine会将其自身的别名用于查询。

因此它将自动重命名重复的列。 就像是:

c_naslovi.duplicate_column as c_0 
c_sportovi.duplicate_column as s_0 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM