教义中是否有像的Hibernate findByExample方法一样的方法?

谢谢

最佳答案

您可以使用findBy方法,该方法是继承的并且存在于所有存储库中。

例子:

$criteria = array('name' => 'someValue', 'status' => 'enabled');
$result = $em->getRepository('SomeEntity')->findBy($criteria);

您可以使用如下定义在存储库之一中创建findByExample方法:
class MyRepository extends Doctrine\ORM\EntityRepository {
    public function findByExample(MyEntity $entity) {
        return $this->findBy($entity->toArray());
    }
}

为了使它起作用,您将必须为实体创建自己的基类,并实现toArray方法。
MyEntity也可以是一个接口(interface),您的特定实体必须再次实现该接口(interface)才能实现toArray方法。

为了使它在所有存储库中都可用,请确保扩展基本存储库类-在本示例中为MyRepository一个。

附言:我假设您在谈论教义2.x

关于php - 在 Doctrine 中的findByExample,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2056884/

10-10 14:40