我有一個表格來創建一個新的BroadcastMessage
實體,我需要顯示一個<select multiple="multiple">
類型的部件,綁定到excludedUsers
屬性,與Doctrine2沒有直接關係。表單構件未綁定到Doctrine2關聯?
裏面我BroadcastMessageType
類(從AbstractType
繼承):
$builder->add('excludedUsers, 'entity', array(
'class' => 'Acme\MyBundle\Enrity\User',
'property' => 'username',
'multiple' => true
));
這當然適用於創建新BroadcastMessage
;但在editAction
我需要一個複雜的查詢來排除用戶。我需要計算排除的用戶在名爲broadcast_message_reference
的交叉引用表中查找記錄。
我的問題相當簡單:從哪裏才能得到正確綁定到<select multiple="multiple">
部件excludedUsers
屬性添加這種「複雜的查詢」?在我的getExludedUsers
方法裏面?如果是,我該如何訪問該查詢的實體存儲庫?
class BroadcastMessage
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
private excludedUsers;
public function __costrunct()
{
$this->excludedUsers = new ArrayCollection();
}
public function addExcludedUser(Acme\MyBundle\Enrity\User $user)
{
$this->excludedUsers[] = $user;
return $this;
}
public function getExcludedUsers() { return $this->excludedUsers; }
}