根据模型实例获取学说结果

Fetching doctrine results based on model instance

我有一个 Symfony2 表单,它以填充了字段的 Doctrine2 模型形式返回提交的数据。然后我尝试从数据库中获取与模型中设置的值匹配的所有实体。

通常我会在学说存储库上使用 findBy 函数。但是,这需要一个包含搜索条件的关联数组。

是否有另一个类似于 findBy 的函数,我可以在其中传递填充模型作为搜索条件?

您将不得不编写 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();
 }