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
打印外键ID.Symfony2时出错_Symfony_Foreign Keys_Doctrine Orm_Twig_One To Many - Fatal编程技术网

打印外键ID.Symfony2时出错

打印外键ID.Symfony2时出错,symfony,foreign-keys,doctrine-orm,twig,one-to-many,Symfony,Foreign Keys,Doctrine Orm,Twig,One To Many,我有一个名为Keyword的实体,它有两行: id comment_id foo_id text 2 1 1 Jajajaja :) Hola. 3 2 1 Chao foo_id和comment_id是外键和整数值。来自表Foo的Foo\u id和来自表Comments的comment\u id 我正在尝试在一个小树枝模板中打印comment\u id和foo\u id {% for k in keywords %

我有一个名为Keyword的实体,它有两行:

id  comment_id  foo_id  text
2       1         1     Jajajaja :) Hola.
3       2         1     Chao
foo_id和comment_id是外键和整数值。来自表Foo的Foo\u id和来自表Comments的comment\u id

我正在尝试在一个小树枝模板中打印comment\u id和foo\u id

{% for k in keywords %}
    {{ k.id}} , {{ k.text}}, {{ k.comment }}, {{ k.foo}}
{% else %}
{% for k in keywords %}
    {{ k.id}} , {{ k.text}} <!--No k.comment no k.foo -->
{% else %}
但它给了我一个错误:

An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class 
Proxies\PruebasRBundleEntityCommentsProxy could not be 
converted to string in       C:\wamp\www\sym\app\cache\dev\twig\52\c9\3138bf2dc905760b186f2d006484.php 
line 74") in PruebasRBundle:Default:keywords.html.twig at line 24.
因此,我尝试打印非外键的值

我正在尝试在一个小树枝模板中打印comment\u id和foo\u id

{% for k in keywords %}
    {{ k.id}} , {{ k.text}}, {{ k.comment }}, {{ k.foo}}
{% else %}
{% for k in keywords %}
    {{ k.id}} , {{ k.text}} <!--No k.comment no k.foo -->
{% else %}
{%k在关键字%}
{{k.id},{{k.text}
{%else%}
它是这样工作的,但是我不能打印外键值,我需要它们


这让我觉得有关系:(.

如果要打印数值,请尝试以下方法:

{% for k in keywords %}
    {{ k.id}} , {{ k.text}}, {{ k.comment_id }}, {{ k.foo_id}}
{% else %}
如果要打印相关实体的某些值,请尝试为实体Foo和注释创建一个_toString()。然后:

{% for k in keywords %}
    {{ k.id}} , {{ k.text}}, {{ k.comments }}, {{ k.foo}}
{% else %}

这是因为条令自动检测k.comment外键,并返回一个表示外部注释行的对象

此对象是一个PruebasRBundle\Entity\Comments实例(Doctrine2将其包装在代理中以简化延迟加载)

您的问题是您试图将此对象强制转换为字符串

Etiher按如下方式修改您的小树枝:

{% for k in keywords %}
    {{ k.id}} , {{ k.text}}, {{ k.comment.id }}, {{ k.foo}}
{% else %}

或者在您的
Comment
类中实现
\uuuu toString
方法。

我尝试了这两种解决方案,但都不起作用。另外,当我查询所有这样的记录时:$keywords=$this->getDoctrine()->getRepository('PruebasRBundle:keywords')->findAll();它会找到所有元素。但当我按Id查找时,它会说没有记录……而且我确信Id存在。哦,谢谢!我不知道你在说什么。在任何文档中都没有读到。你知道如何在php模板中打印像k.comment.Id这样的变量吗?;)