教义中是否有像的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/