【问题标题】:Fetching doctrine results based on model instance基于模型实例获取学说结果
【发布时间】:2015-01-21 23:30:19
【问题描述】:
我有一个 Symfony2 表单,它将提交的数据作为 Doctrine2 模型返回,其中填充了字段。然后我试图从数据库中获取与模型中设置的值匹配的所有实体。
通常我会在学说存储库中使用findBy 函数。但是,这需要一个包含搜索条件的关联数组。
是否有另一个类似于findBy 的函数可以传递填充模型作为搜索条件?
【问题讨论】:
标签:
php
symfony
doctrine-orm
doctrine
【解决方案1】:
你必须写你的own repository method 来处理这样的事情。您可以将对象传递给它,但您必须删除查询所需的详细信息。
类似:
public function findBySomeOtherCriteria( AcmeBundle\Entity\Trythis $entity )
{
$param1 = $entity->getParam1();
$param2 = $entity->getParam2();
$query = $this->getEntityManager()->createQuery(
'select a
from AcmeBundle\Entity\Adifferentone a
where a.param1 = :param1
and a.param2 = :param2
' )->setParameters( array( 'param1' => $param1, 'param2' => $param2 );
return $query->getResult();
}