Я пытаюсь контролировать свои медиа-объекты, создавая хранилище.
Как создать репозиторий для класса GalleryHasMedia?
namespace Application\Sonata\MediaBundle\Repository;
use Doctrine\ORM\EntityRepository;
class GalleryHasMediaRepository extends EntityRepository
{
/**
* @param integer $galleryId
* @return array
*/
private function findMediaOfGallery($galleryId)
{
$qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('gm')
->from('ApplicationSonataMediaBundle:GalleryHasMedia', 'gm')
->where('gm.gallery_id = :gallery')
->setParameters(['gallery' => $galleryId]);
return $qb->getQuery()->getResult();
}
}
Application \ соната \ MediaBundle \ Resources \ Config \ доктрина \ GalleryHasMedia.orm.xml
repository-class="Application\Sonata\MediaBundle\Repository\GalleryHasMediaRepository"
Application \ соната \ MediaBundle \ Entity \ GalleryHasMedia.php
namespace Application\Sonata\MediaBundle\Entity;
use Sonata\MediaBundle\Entity\BaseGalleryHasMedia as BaseGalleryHasMedia;
use Sonata\MediaBundle\Model\GalleryInterface as GalleryInterface;
use Sonata\MediaBundle\Model\MediaInterface as MediaInterface;
class GalleryHasMedia extends BaseGalleryHasMedia
{
...
}
Ошибка:
Undefined method 'findMediaOfGallery'. The method name must start with either findBy or findOneBy!
Подскажите пожалуйста как это исправить?
config.yml
# Doctrine Configuration
doctrine:
orm:
auto_generate_proxy_classes: "%kernel.debug%"auto_mapping: true
Когда я пишу несуществующий класс здесь: GalleryHasMedia.orm.xml
Есть сообщения об ошибках.
Задача ещё не решена.
Других решений пока нет …