php - 键为“0, 1”的数组的键“”不存在
问题描述
我有这个简单的问题,但由于我是初学者,我需要帮助,所以提前谢谢你
我有一个类campagne和一个类groupe,两者之间有ManytoMany关系,它自动添加了一个包含它们的ID的campagne-groupe表
现在我试图在表格中显示每个创建的“campagne”的名称以及与之关联的“groupe”,但我收到了这个错误:
键为“0, 1”的数组的键“”不存在。
运动控制器:
public function index()
{
$campagne= $this->getDoctrine()->getRepository(Campagne::class)->findAll();
// return $this->render('campagne/index.html.twig',['campagne'=> $campagne]);
return $this->render(
'campagne/index.html.twig',
array('campagne'=> $campagne )
);
}
广告类型:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Nom')
->add('EmailExpediteur')
->add('NomExpediteur')
->add('Message',TextareaType::class)
->add('campagnes')
->add('envoyer', SubmitType::class)
树枝:
{% for camp in campagne %}
<tr>
<td>
{{ camp.Nom }}
</td>
<td>
{% for camp in campagne.campagnes %}
{{ campagne.campagnes }}
{% endfor %}
</td>
我试过 {{ dump(campagne) }} 我得到了这个:
array:2 [▼
0 => App\Entity\Campagne {#620 ▼
-id: 33
-Nom: "camp1"
-EmailExpediteur: "expmail@gmail.com"
-NomExpediteur: "amani"
-Message: "bla"
-campagnes: Doctrine\ORM\PersistentCollection {#683 ▼
-snapshot: []
-owner: App\Entity\Campagne {#620}
-association: array:20 [ …20]
-em: Doctrine\ORM\EntityManager {#431 …11}
-backRefFieldName: "relation1"
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#623 …}
-isDirty: false
#collection: Doctrine\Common\Collections\ArrayCollection {#617 ▼
-elements: []
}
#initialized: false
}
解决方案
你给了我们 3 块代码。第一个,来自您的控制器是正确的。第二个是表单类型,但我在这里看不到它的任何用途。为什么要与我们分享?它在您的模板中使用吗?第三个是你的模板,我猜它会抛出异常。它不完整,但我至少可以看出一件事是错误的:
{% for camp in campagne %}
<tr>
<td>
{{ camp.Nom }}
</td>
<td>
// Big warnings here
{% for camp in campagne.campagnes %}
{{ campagne.campagnes }}
{% endfor %}
</td>
// I guess the end is something like this:
<td>
...
</td>
</tr>
{% endfor %}
最大的警告是:
- 您正在覆盖
camp
第一个循环中定义的内容 - 您在第二个循环中没有使用camp,而是使用campagne
所以我猜你的警告来自这一行:{% for camp in campagne.campagnes %}
应该替换为:
{% for camp in campagne %}
<tr>
<td>
{{ camp.Nom }}
</td>
<td>
// Big warnings here
{% for insidersCampage in camp.campagnes %}
{{ insidersCampage.Nom}}
{% endfor %}
</td>
<td>
...
</td>
</tr>
{% endfor %}
推荐阅读
- python - 使用 Zipfile 和 Python 获取正确的目录结构
- javascript - 从 JSON 对象中删除重复值
- python - 报纸(python)获取所有cnn新闻网址
- css - 更新 style.css
- ios - 关闭没有固定顺序的视图控制器
- c - Linux:如何检查哪个处理程序正在处理信号
- php - 从 php 调用时不显示 Css 文件包含功能
- java - 如何从 junit 测试中调用 SpringBoot 应用程序的 main 方法并防止其停止
- reactjs - 获取反应 flexbox 孩子的像素尺寸?
- ruby-on-rails - 在 Rails 中的查询中获取连接模型值以及其他值