私はsymfony2を初めて使用しています。私はカスタムリポジトリクラスを作成しようとしています。ここでSymfony2カスタムリポジトリクラス
は私がやっているものです:
- を私は(MobilePhones)エンティティクラスに注釈を追加
@ORM \エンティティ(repositoryClass = "Maak \ DefaultBundle \エンティティ\ MobilePhonesRepository" MobilePhonesRepository I CRで)
$ EM-> getRepository( 'MaakDefaultBundle::MobilePhones')私のカスタム関数は、私が使用して関数を呼び出したコントローラで
findAllMobilePhones()
の名前eated - > findAllMobilePhones();
しかし、私はUndefined method findAllMobilePhones()
を得て、私はキャッシュをクリアして、同じエラーを試みました。なにが問題ですか?
マイリポジトリクラス:自分の時間のために、すべての人たちへの
<?php
namespace Maak\DefaultBundle\Entity;
use Doctrine\ORM\EntityRepository;
class MobilePhonesRepository extends EntityRepository
{
public function findAllMobilePhones()
{
return $this->getEntityManager()->createQuery('SELECT p FROM AcmeStoreBundle:Product p ORDER BY p.name ASC') ->getResult();
}
}
'エコーget_class($ EM-> getRepository( 'MaakDefaultBundle:MobilePhonesは'))何をしない'返しますか? MobilePhonesRepositoryのクラスファイルも提供できますか? – Sean
Doctrine \ ORM \ EntityRepositoryを返す –
<?php 名前空間Maak \ DefaultBundle \ Entity; Doctrine \ ORM \ EntityRepositoryを使用します。 - >のgetResult:>からCreateQuery( 'p.nameのASC BY製品PのORDERをAcmeStoreBundleからのPをSELECT') - クラスMobilePhonesRepositoryはEntityRepository { パブリック関数findAllMobilePhones() { 戻ります$ this-> getEntityManager() を拡張します(); } } –