Расширить / настроить хранилище сущностей учения в Symfony - PullRequest
0 голосов
/ 15 сентября 2011

Мне нужна помощь с доктриной в Symfony, я хотел бы расширить / настроить хранилище сущностей ... поэтому я создал класс в папке Respository пакета (который не существует), но я не знаю что еще нужно сделать, кроме как расширить класс из EntityRepository.

Вот код:

<?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

1 Ответ

6 голосов
/ 08 декабря 2011

Этот вопрос старый, но если вы или кто-то, просматривающий этот вопрос, еще не знаете ответа, вам нужно указать Doctrine, чтобы он использовал свой собственный класс репозитория для этой сущности.

Пример из Документация Symfony 2 Doctrine (с использованием аннотаций; вы можете, конечно, использовать 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
{
    //...
}
...