Doctrine2和魔法探测器有更多的字段不起作用?

时间:2011-10-08 18:28:08

标签: orm symfony doctrine doctrine-orm

Doctrine2允许您使用基于字段名称的魔术查询器进行查询。如果您有一个名为User的实体,则应该能够调用$repo->findOneByUsernameAndPassword(),假设该实体具有用户名和密码字段。

如何将参数传递给魔术探测器?如何查询实际上是关系的字段?

我试过了:

$repo->findOneByUsernameAndPassword('Jhon', 'password')

$repo->findOneByUsernameAndPassword(array('Jhon', 'password'))

但是我收到了错误:

  

实体'用户'没有字段'usernameAndPassword'。因此,你可以   不要调用'findOneByUsernameAndPassword'

1 个答案:

答案 0 :(得分:4)

我无法在Doctrine 2中找到这种语法的任何参考,尽管可以使用Doctrine 1.我自己使用它并记住在使它工作时遇到问题。 现在你宁愿这样做我猜:

$repo->findOneBy(array('username' => 'Jhon', 'password' => 'password'));

您可以在this § of the Doctrine 2 documentation

中获取更多信息