询问一个不存在的领域

时间:2013-01-31 13:57:33

标签: php symfony doctrine-orm

我有一个实体纸张,它连接到我项目中的纸质表格。 在这个实体中,我有一个字段标题

问题是字段标题里面可能有一些 html标签,我需要对这个字段进行一些查询。查询没有html标记

我的想法是在我的实体中创建一个额外的变量: title_without_html

protected title_without_html;

/**
 * Get title_without_html
 *
 * @return text
 */
public function getTitle_without_html()
{
    return  strip_tags($this->title);
}

而且在构造函数中,我正在创建title_without_html。

这可能吗?如果是的话,如何正确地做到这一点。实际上,我收到了一个错误:

  

[语义错误]第0行,第61行'title_without_html'附近:错误:类SciForum \ Version2Bundle \ Entity \ Paper没有名为title_without_html的字段或关联

1 个答案:

答案 0 :(得分:0)

您的代码错过了$,您应该避免使用camelCase方法(为了与Doctrine2生成的方法保持一致)。

另外,不要依赖构造函数:Doctrine2在从数据库中获取现有函数时不会调用构造函数。

这必须有效:

<?php

class Toto {

    public function getCleanTitle()
    {
        return strip_tags($this->getTitle());
    }
}

您不必为此设置属性,而是多次调用此getter(然后,可以使用属性来缓存strip_tags的结果。)