0

プロジェクトの紙のテーブルに接続されているエンティティPaperがあります。このエンティティには、フィールドtitleがあります。

問題は、フィールド タイトルにいくつかの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 を作成しています。

これは可能ですか?はいの場合、適切に行う方法。実際、私はエラーが発生しています:

[Semantical Error] line 0, col 61 near 'title_without_html': エラー: Class SciForum\Version2Bundle\Entity\Paper has no field or association named title_without_html

4

1 に答える 1

0

コードに a$がありません。キャメルケース メソッドを避ける必要があります (Doctrine2 で生成されたものとの一貫性のため)。

また、コンストラクターに依存しないでください: Doctrine2 は、データベースから既存のものを取得するときにコンストラクターを呼び出しません。

これはうまくいくはずです:

<?php

class Toto {

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

この getter を何度も呼び出す代わりに、プロパティを設定する必要はありません (その後、 の結果をキャッシュするためにプロパティを使用できますstrip_tags)。

于 2013-01-31T16:10:01.700 に答える