【发布时间】:2014-08-30 16:38:52
【问题描述】:
在尝试输出与任务关联的所有附件(附件实体)时,出现以下异常。但我不知道为什么。
在渲染模板期间引发了异常(“注意:未定义索引:/Applications/MAMP/htdocs/Seotool/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php 行中的任务1753") 在 /Applications/MAMP/htdocs/Seotool/src/Seotool/MainBundle/Resources/views/Task/load_task.html.twig 第 10 行。
树枝:
{{ tasks.taskDescription }}
{% for attachment in tasks.Attachments %}
{{ attachment.id }}
{% endfor %}
控制器:
/**
@Route(
* path = "/tasks/load/{id}",
* name = "load_task"
* )
* @Template()
*/
public function load_taskAction($id, Request $request)
{
$tasks = $this->getDoctrine()
->getRepository('SeotoolMainBundle:Task')
->find($id);
return array(
'tasks' => $tasks
);
}
任务实体:
/**
* @ORM\OneToMany(targetEntity="Attachments", mappedBy="task",cascade={"persist"})
*/
protected $attachments;
附件实体:
/**
* @ORM\ManyToOne(targetEntity="Task", inversedBy="attachments")
* @ORM\JoinColumn(name="task", referencedColumnName="id")
*/
protected $Task;
【问题讨论】:
-
更改受保护的 $Task;受保护的$task;您可能会在树枝行中遇到另一个错误: {% for attachment in tasks.Attachments %} 将其更改为 {% for attachment in tasks.attachments %}
-
谢谢,现在可以了:)
-
不客气 :)。在你的 addAttachment() 方法中更改 $Task 之前它是否正常工作?
-
现在一切都好。在我的 Attachments.php 中是 @setTask 这个: $this->Task = $task;但它必须是 $this->task = $task;现在一切正常。
标签: php symfony doctrine-orm doctrine