比方說,我有普通*Type
類:如何在Symfony 2的Form(Type)類中獲取實體庫的實例?
class LocationType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add(...)
...
}
}
和領域之一是choice
類型。需要用作選擇項的值應該從數據庫中檢索(來自某個特定的實體存儲庫)。
所以問題是:如何獲得LocationType
類中的存儲庫?通過構造函數傳遞它是獲得它的唯一方法嗎?
UPD:
我知道entity
類型,但不幸的是我不能使用它,因爲我的財產是不是也不能被定義爲one-to-one
關係,由於該學說不支持非常複雜關係的條件(但?)。見How to specify several join conditions for 1:1 relationship in Doctrine 2瞭解更多詳細信息
我不能這樣做,因爲我的'foo'屬性沒有被定義爲任何關係('一對一或任何其他),因爲關係是以非常困難的方式定義的,原則目前不支持。 http://stackoverflow.com/questions/9123264/how-to-specify-several-join-conditions-for-11-relationship-in-doctrine-2 - 這裏是解釋案例的問題 – zerkms 2012-02-06 21:23:22
對不起,我沒有'在第一個問題修訂版中指定了這些重要細節,無論如何都是+1。任何其他想法? – zerkms 2012-02-06 21:27:48
嗨。沒問題。無論如何,我可能會太快地閱讀你的問題!我建議在你的控制器中將'$ this-> buildForm($ type,$ entity,array('repository'=> $ er))'作爲一個選項傳遞給你的窗體,但是我想給你的問題你正在尋求避免這一點。 – 2012-02-06 21:42:39