Я пытаюсь работать с репозиторием Entity, чтобы писать свои пользовательские функции.Репозиторий с symfony2 и Doctrine не работает
У меня есть Субъекта и его Repository генерируется из YAML файла
YAML файл
Bluesys\WeekupBundle\Entity\Event:
type: entity
repositoryClass: Bluesys\WeekupBundle\Repository\Event
fields:
id:
id: true
type: integer
generator:
strategy: AUTO
...
Entity код генерируется автоматически
namespace Bluesys\WeekupBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Event
*/
class Event
{
/**
* @var integer
*/
private $id;
...
}
Repository код генерируется автоматически я Жюст написал функцию IsHidden
namespace Bluesys\WeekupBundle\Repository;
use Doctrine\ORM\EntityRepository;
/**
* Event
*
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class Event extends EntityRepository
{
/**
* isHidden
*
* @return bool
*/
public function isHidden()
{
return true;
}
}
Контроллер код
namespace Bluesys\WeekupBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Bluesys\WeekupBundle\Event\Event;
...
class TimelineController extends Controller
{
public function testAction(){
$repository = $this->getDoctrine()->getManager()->getRepository('BluesysWeekupBundle:Event');
$event = $repository->findOneById(73);
return $this->render('BluesysWeekupBundle::test.html.twig', array('event' => $event));
}
...
И вид кода
{{ event.isHidden }}
Я получаю эту ошибку: Метод " isHidden "для r объект «Bluesys \ WeekupBundle \ Entity \ Event» не существует в BluesysWeekupBundle :: test.html.twig в строке 1
Может ли кто-нибудь помочь мне, сообщив мне, чего не хватает?
Вы можете попробовать это 'event.id', например в вашу ветку, просто чтобы увидеть, если речь идет о событии или из хранилища методы – smarber
взгляните на это http://stackoverflow.com/questions/18277211/how-to-use-custom-repository-methods-in-twig-template – smarber
Вы не должны вызывать функцию репо. То бизнес-логика, которая не должна появляться в шаблонах. – vijaykumar