1
我已经编写了一个BasicRepository类,以便使用它来代替EntityRepository来添加一些基本修改,如删除所有已删除的Flage项目。Extend Doctrine EntityRepository
<?php
namespace AppBundle\Repository;
use AppBundle\DataFixtures\ORM\LoadEventPrioData;
use AppBundle\Entity\Location;
use Doctrine\ORM\EntityRepository;
class BasicRepository extends EntityRepository
{
public function createQueryBuilder($alias, $indexBy = null)
{
$query = parent::createQueryBuilder($alias);
dump(parent::getClassName());
dump($this->getClassName());
if (property_exists($this->getClassName(), 'isDeleted')) {
dump("Ping");
$query->andWhere($alias.'.isDeleted = :false')->setParameter('false', false);
}
else {
dump("Pong");
}
return $query;
}
}
控制器:
...
public function searchAction(Request $request) {
$em = $this->getDoctrine()->getManager();
$meta = new ClassMetadata('AppBundle:Location');
$er = new BasicRepository($em, $meta);
$query = $er->createQueryBuilder('u');
...
我的目标是 - 如果属性“请将isDeleted”(布尔)在实体存在 - 查询应该包含一个额外凡结单。
由于一些奇怪的原因,property_exists总是返回false - 即使属性在类中退出时也是如此。
谢谢你 - 你给我正确的提示... – Atreides78
我很高兴提供帮助! –