そのため、現在、Symfony2 と Doctrine を使用して簡単な検索を実行しようとしています。これに似たもの: http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/manual/searching.html
YAML
現在、エンティティを生成するために次のファイルをセットアップしています。私のclass Style
エンティティをクラスとして正しく生成します。
...\Style:
type: entity
table: styles
id:
id:
type: integer
generator:
strategy: IDENTITY
actAs:
Searchable:
fields: [title]
batchUpdates: true
fields:
title:
type: string
length: 150
unique: true
私のコントローラーでは、文字列に基づいてそのテーブルで検索を実行しようとしています。
public function searchAction($pattern)
{
$repository = $this->getDoctrine()->getRepository('..:Style');
$search = $repository->search($pattern);
return $this->outputize($search);
}
ただし、コードを実行しようとすると、次の例外が発生します。
Undefined method 'search'. The method name must start with either findBy or findOneBy!
エンティティを正しく生成していますか、それとも明らかに欠けているものがありますか?
余談ですが、生成後に私のものを見ると、Entity/Style.php
明確な方法はありません->search()
。関数はここで Symfony によって生成されるはずですか?