Doctrine2允许您使用基于字段名称的魔术查询器进行查询。如果您有一个名为User
的实体,则应该能够调用$repo->findOneByUsernameAndPassword()
,假设该实体具有用户名和密码字段。
如何将参数传递给魔术探测器?如何查询实际上是关系的字段?
我试过了:
$repo->findOneByUsernameAndPassword('Jhon', 'password')
和
$repo->findOneByUsernameAndPassword(array('Jhon', 'password'))
但是我收到了错误:
实体'用户'没有字段'usernameAndPassword'。因此,你可以 不要调用'findOneByUsernameAndPassword'
答案 0 :(得分:4)
我无法在Doctrine 2中找到这种语法的任何参考,尽管可以使用Doctrine 1.我自己使用它并记住在使它工作时遇到问题。 现在你宁愿这样做我猜:
$repo->findOneBy(array('username' => 'Jhon', 'password' => 'password'));
中获取更多信息