Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 在呈现模板期间引发了异常_Symfony_Orm_Doctrine - Fatal编程技术网

Symfony 在呈现模板期间引发了异常

Symfony 在呈现模板期间引发了异常,symfony,orm,doctrine,Symfony,Orm,Doctrine,在呈现模板期间引发了异常 可捕获的致命错误:无法将类Doctrine\ORM\PersistentCollection的对象转换为字符串 在第46行的AppBundle:Dashboard:index.html.twig中 发生这种情况的原因是约会。员工。有人能解释一下吗? 这是具有以下关系的实体: /** * @ORM\ManyToMany(targetEntity="LamecoEmployee") * @ORM\JoinTable(name="appointment_lamecoemp

在呈现模板期间引发了异常

可捕获的致命错误:无法将类Doctrine\ORM\PersistentCollection的对象转换为字符串

在第46行的
AppBundle:Dashboard:index.html.twig中

发生这种情况的原因是
约会。员工
。有人能解释一下吗? 这是具有以下关系的实体:

/**
 * @ORM\ManyToMany(targetEntity="LamecoEmployee")
 * @ORM\JoinTable(name="appointment_lamecoemployee",
 *      joinColumns={@ORM\JoinColumn(name="appointment_id", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="lamecoempoloyee_id", referencedColumnName="id")}
 *      )
 */
protected $employees;
这是一种观点:

{% for appointment in appointments %}
    <tr>
        <td>{{appointment.startDate|date('H:i')}}</td>
        <td>{{appointment.client.companyname}}</td>
        <td></td>
        <td>{{appointment.employees}}</td>
        <td>{{appointment.description}}</td>
    </tr> <br>
{% endfor %}
{%用于约会中的约会%}
{{约会开始日期|日期('H:i')}
{{appointment.client.companyname}
{{appointment.employees}}
{{appointment.description}}

{%endfor%}
好吧,您正试图打印一组员工。PHP根本不知道如何做到这一点

属性
$employees
上的注释
@ORM\manytomy
表示一个约会可以链接到多个同事(一个员工可以链接到多个约会)。因此,$employee属性的类型不是LamecoEmployee,而是LamecoEmployee的集合

如果在LamecoEmployee类中定义了
\uuu toString()
方法,则可以打印一名员工,但不能一次打印员工集合。要打印约会的所有员工,您可以在
约会上循环。员工

{% for employee in appointment.employees %}
    {{ employee }}
{% endfor %}

您必须遍历appointment.employees,因为它是一个集合(与appointment相同),或者将其转换为twig可以内联呈现的内容

例如

或者,如果您只需要计数而不需要迭代:

{{appointment.employees|length}}
{{appointment.employees|length}}