充液型的EntityType的領域在我的形式,我有EntityClass
類型的字段:如何從PHP
$builder
->add(
'user',
EntityType::class,
[
'required' => false,
'label' => 'User',
'placeholder' => 'Please choose',
'choice_label' => 'email',
'choice_value' => 'id',
'class' => 'AppBundle:User',
]
)
;
這個領域工作正常 - 直到我試圖從我的PHP代碼充液它。然後它保持空白,並只顯示「請選擇」。
預填充看起來是這樣的:
$user = $this->userRepository->find(...);
$form->get('user')->setData($user);
但它也如果我叫->setData($user->getId())
,甚至->setData($user->getEmail())
不起作用。
那麼如何預先填寫EntityType
類型的字段?
何時何地設置數據? – DonCallisto
此外,是「主要形式」(所以你稱之爲建造者)綁定到一個實體或不是? – DonCallisto
@DonCallisto表單沒有綁定到一個實體,並且當$ form-> isSubmitted()返回false時,它被在控制器中調用的服務填充。 (由於與使用繼承的實體有關係,因此無法將其綁定到實體)。 – Jost