2
一個棘手的一點:Symfony的形式收集排序依據從一對多關係的領域從多對一
我有一個表格集合實體Street
。 收集項目是houses
。我需要的room
下令集合中的房子我已經嘗試添加@ORM\OrderBy({"room" = "ASC"})
但顯然沒有指定客房內實體的重量領域是沒有辦法的收集就知道了。
我試圖做甚至可能嗎?
Street.php
/**
* @var ArrayCollection
*
* @ORM\OneToMany(targetEntity="houses", mappedBy="street")
*/
protected $houses;
Houses.php
/**
* @var Room
*
* @ORM\ManyToOne(targetEntity="Room", inversedBy="house")
* @ORM\JoinColumn(name="room_id", referencedColumnName="id")
*/
private $room;
/**
* @var Street
*
* @ORM\ManyToOne(targetEntity="Street", inversedBy="houses")
* @ORM\JoinColumn(name="street_id", referencedColumnName="id")
*/
private $street;
HouseCollectionType.php
$builder
->add('houses', 'collection', array(
'type' => new HouseFieldsType(),
'allow_delete' => false,
))
;
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Bundle/Street'
));
}
也許[此帖](https://stackoverflow.com/questions/22828669/ordering-doctrine-collection-based-on-associated-entity-when-it-is-not-possible)將幫助。 – chapay
謝謝@chapay,您提供的帖子上的解決方案非常有幫助,問題與我的問題是我需要它與表單集合一起工作,因此它可以自動執行setter和getter。 – user742736