使用symfony2我加载一些实体,然后尝试在树枝模板中迭代它们。
但是,我得到以下内容而不是变量内容:
Resource id #23
我的twig模板如下所示:
<ol>
{% for post in posts %}
<li>
<div>
{{ post.content }}
</div>
</li>
{% endfor %}
</ol>
我的控制器代码是:
$repository = $this->getDoctrine()
->getRepository('AppPostBundle:Post');
$reviews = $repository->findBy(
array('title' => 'my title'))
;
答案 0 :(得分:1)
对于这个答案来说可能为时已晚(肯定是LOL)但我最近遇到了同样的问题,问题是blob数据类型被视为缓冲区,所以你必须使用缓冲区函数读取信息。
在您的实体Post
代码中,您可以添加以下方法:
public function readContent(){
$content = '';
while(!feof($this->getContent())){
$content.= fread($this->getContent(), 1024);
}
rewind($this->getContent());
return $content;
}
然后在您的观看中,您可以使用readcontent
方法而不是content
:
<ol>
{% for post in posts %}
<li>
<div>
{{ post.readcontent }}
</div>
</li>
{% endfor %}
</ol>
迟到总比没有好。)
答案 1 :(得分:0)
我的实体名称是:'测试'
Blob类型字段为:'Details'
in'/src/Vendorname/Bundlename/Entity/entityname.php'
**
* Get details
*
* @return string
*/
public function getDetails()
{
return $this->details;
}
/**
* Reading the blob type of content.
* @return data
*/
public function readDetails(){
$details = '';
while(!feof($this->getDetails())){
$details.= fread($this->getDetails(), 1024);
}
rewind($this->getDetails());
return $details;
}
和'* .html.twig'文件
{% for match in matches %}
{{match.readdetails}}
{%endfor%}