2011-09-15 24 views
0

私はsymfonyでdoctrineの助けが必要です。私はエンティティリポジトリを拡張/カスタマイズしたいので...バンドルのRespositoryフォルダにクラスを作成しました。私はEntityRepositoryからクラスを拡張するために他に何をするべきか分かりません。ここでsymfonyで教義のエンティティリポジトリを拡張/カスタマイズする

はコードです:だからここ

<?php 

class InvitadoRepository extends EntityRepository 
{ 
    public function findOneByIdJoinedToCategory($id) 
    { 
     $query = $this->getEntityManager() 
     ->createQuery(' 
      SELECT p, c FROM AcmeStoreBundle:Product p 
      JOIN p.category c 
      WHERE p.id = :id' 
     )->setParameter('id', $id); 

     try { 
      return $query->getSingleResult(); 
     } catch (\Doctrine\ORM\NoResultException $e) { 
      return null; 
     } 
    } 
} 

?> 

が、それは私のプロジェクトでどのように見えるかです:

http://dl.dropbox.com/u/29094109/respositoryextend.tiff

答えて

6

この質問は古いですが、あなたまたは誰かがこの質問を見た場合には、」doesnのその答えをまだ知っていないので、そのエンティティに対してカスタムリポジトリクラスを使用するようにDoctrineに指示する必要があります。 Symfony 2 Doctrine documentationから

例(使用して注釈;あなたが好む場合はもちろんYAMLやXMLを使用することができます):

// src/Acme/StoreBundle/Entity/Product.php 
namespace Acme\StoreBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Entity(repositoryClass="Acme\StoreBundle\Repository\ProductRepository") 
*/ 
class Product 
{ 
    //... 
} 
関連する問題