簡體   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