2013-03-21 26 views
1

這工作訂購to-many關聯訂貨聯合其他協會的映射 - Doctrine2

/** @Entity **/ 
class User 
{ 
    // ... 

    /** 
    * @ORM\ManyToMany(targetEntity="Group") 
    * @ORM\OrderBy({"name" = "ASC"}) 
    **/ 
    private $groups; 
} 

但是,如果在我的集團實體我有一個To-One association(因此一個foreign_key field),我不能order by foreign_key field:

/** @Entity **/ 
class Group 
{ 
    // ... 

    /** 
    * @ORM\ManyToOne(targetEntity="Auxiliar", inversedBy="groups", fetch="EAGER") 
    * @ORM\JoinColumn(name="auxiliar_id", referencedColumnName="id") 
    **/ 
    private $auxiliar; 
} 

爲什麼我不能按auxiliar_id排序組?這不起作用(500: unrecognized field):

/** @Entity **/ 
class User 
{ 
    // ... 

    /** 
    * @ORM\ManyToMany(targetEntity="Group") 
    * @ORM\OrderBy({"auxiliar_id" = "ASC"}) 
    **/ 
    private $groups; 
} 

編輯:

也試過:auxiliargroups.auxiliargroups.auxiliar_idauxiliar.id

+1

嘗試過'{「auxiliar」=「ASC」}'? Wihtout'_id'。 – Narek 2013-03-21 12:09:01

+0

@Narek - 是'auxiliar','groups.auxiliar','groups.auxiliar_id','auxiliar.id':|相同的無法識別的字段500錯誤 – 2013-03-21 12:09:50

+0

因此,如果您刪除'* @ORM \ ManyToOne(targetEntity =「Auxiliar」,inversedBy =「groups」,fetch =「EAGER」)''它會像'name'字段一樣工作?嘗試,如果它不工作,那麼在其他地方的問題。 – Narek 2013-03-21 12:23:24

回答

1

您可以添加Group實體內auxiliar_id領域,它水合後會被教條充滿。

+0

完美運作。謝謝! – 2013-03-21 12:32:38