Symfony ArrayCollection代替实体
我有一个函数,允许我从表单检索数据:Symfony ArrayCollection代替实体,symfony,twig,Symfony,Twig,我有一个函数,允许我从表单检索数据: public function selectPlayers(Request $request): Response { $form = $this->createFormBuilder() ->add('joueur', EntityType::class, [ 'class' => Joueur::class, 'choice_label' =>
public function selectPlayers(Request $request): Response
{
$form = $this->createFormBuilder()
->add('joueur', EntityType::class, [
'class' => Joueur::class,
'choice_label' => 'prenom',
'expanded' => 'true',
'multiple' => 'true'
])
->getForm();
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$joueurs = $form->getData('joueur');
return $this->render('disputed/test.html.twig', [
'joueurs' => $joueurs,
]);
}
return $this->render('disputed/new.html.twig', [
'form' => $form->createView(),
]);
}
然后,我有一个视图,其中a希望显示此数据:
<h1>Disputed index</h1>
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Joueurs</th>
</tr>
</thead>
<tbody>
{% for joueur in joueurs %}
<tr>
<td>{{ joueur.id }}</td>
<td>{{ joueur.nom }}</td>
</tr>
{% else %}
<tr>
<td colspan="4">no records found</td>
</tr>
{% endfor %}
</tbody>
</table>
但我得到了这个错误信息:
属性id和其中一个方法id,
getid/isid/hasid或_调用存在并具有公共
类内访问原则\Common\Collections\ArrayCollection
我知道我得到的是ArrayCollection,而不是实体,但我看不到在哪里可以指定它。您可以向视图发送ArrayCollection。
尝试在您的视图上循环这里有一个错误:
$joueurs = $form->getData('joueur');
您正在对整个表单执行getData,它获取整个表单的数据
方法getData不接受任何参数,因此您传递的“jouer”值实际上被忽略。因此,这与您所做的相同:
$joueurs = $form->getData();
我想你想做的是:
$joueurs = $form->get('joueur')->getData();
您的代码没有显示有争议的变量的创建位置并传递给视图,因此很难给您任何提示。抱歉,我发布了错误的视图,我已经在ArraySorry上执行循环了,我发布了错误的视图,我已经在ArrayPerfect上执行循环了!工作就像一种魅力;谢谢