使用 symfony2 加载一些实体,然后尝试在 Twig 模板中迭代它们。
但是,我得到的不是变量内容,而是以下内容:
Resource id #23
我的 Twig 模板如下所示:
<ol>
{% for post in posts %}
<li>
<div>
{{ post.content }}
</div>
</li>
{% endfor %}
</ol>
我的 Controller 代码是:
$repository = $this->getDoctrine()
->getRepository('AppPostBundle:Post');
$reviews = $repository->findBy(
array('title' => 'my title'))
;
最佳答案
也许这个答案已经太晚了(肯定是哈哈),但我最近遇到了同样的问题,问题是 blob 数据类型被视为缓冲区,因此您必须使用缓冲区函数读取信息。
在您的实体Post
代码中,您可以添加此方法:
public function readContent(){
$content = '';
while(!feof($this->getContent())){
$content.= fread($this->getContent(), 1024);
}
rewind($this->getContent());
return $content;
}
然后在您的 View 中,您可以调用 readcontent
方法而不是 content
:
<ol>
{% for post in posts %}
<li>
<div>
{{ post.readcontent }}
</div>
</li>
{% endfor %}
</ol>
迟到总比不到好:)
关于symfony - 回显变量获取 "Resource id",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14803609/