有多个字段时如何与Doctrine OR函数配合使用?

汤姆

我正在制作一个登录表单,用户可以决定使用该用户名或电子邮件地址及其密码。因此,通常情况如下:((SQL中的(用户名或电子邮件)AND密码)。使用以下控制器代码只是不知道如何添加OR函数。

        $user = $this->getDoctrine()
            ->getRepository('Bundle:CusUser')
            ->findOneBy(
                array('username' => $user->getUsername(), 'email' => $user->getUsername(), 'password' => $user->getPassword())
            );

两者都是使用getUsername,因为这是表格中的内容。

挑战者

实际上->orBy(...),默认学说中没有方法EntityRepository
您可以在此类API找到所有可用的方法

相反,请使用QueryBuilder

$query = $this->getDoctrine()
    ->getRepository('Bundle:CusUser')
    ->createQueryBuilder('u')
    ->select('u')
    ->where('u.username = :username')
    ->orWhere('u.email = :email')
    ->setParameter('username', $user->getUsername())
    ->setParameter('email', $user->getEmail())
    ->getQuery();

// Get the first result
$user = $query->setMaxResults(1)->getSingleResult();

将其放在自定义中EntityRepository,并与用作whereorWhere语句参数的参数数组一起使用例如:

public function findByOrBy(array $parameters)
{
    $query = $this->getEntityManager()->createQueryBuilder();
    // ...

    foreach ($parameters as $property => $value) {
        $query
            ->orWhere($property.' = :'.$property)
            ->setParameter($property, $value)
        // ...
    }
}

您可以在QueryBuilderAPI中找到可用方法的列表(几乎所有本机SQL方法的对应关系)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将聚合函数与多个投影配合使用

来自分类Dev

如何在gnuplot中将函数与多个文件配合使用

来自分类Dev

有没有一种方法可以使jQuery的.on()函数与promises配合使用?

来自分类Dev

如何在Spring Boot中将YAML属性与构造函数注入配合使用?

来自分类Dev

jQuery,如何使on click函数与数组配合使用以基于id切换div?

来自分类Dev

如何使jQuery与Underscore配合使用?

来自分类Dev

如何让jQuery与Underscore配合使用?

来自分类Dev

导航如何与 ViewModelLocator 配合使用?

来自分类Dev

如何使用SelectTokens查询多个字段?

来自分类Dev

当我有5个使用JavaScript的字段时,如何验证表单中的单个字段?

来自分类Dev

使用Linq.Dynamic时如何按多个字段排序?

来自分类Dev

包装多个静态错误以与错误配合使用

来自分类Dev

Spring Sidecar如何与Docker配合使用

来自分类Dev

如何使Nginx重写与别名配合使用?

来自分类Dev

如何让Glimpse与EF6配合使用?

来自分类Dev

如何使Zend Framework 2与Nginx配合使用?

来自分类Dev

SagePay如何与PayPal Express Checkout配合使用?

来自分类Dev

如何使色彩与golang制表器配合使用?

来自分类Dev

如何使%in%与R中的字符配合使用?

来自分类Dev

如何将配对与光子配合使用?

来自分类Dev

ImmutableJS如何与Angular 2配合使用?

来自分类Dev

如何使图案与输入数字配合使用?

来自分类Dev

如何使Zend Framework 2与Nginx配合使用?

来自分类Dev

如何使TypeScript与jQuery插件配合使用?

来自分类Dev

如何使DataTables与RESTful API配合使用

来自分类Dev

devise如何与多种模型配合使用?

来自分类Dev

如何将KeyListener与音频配合使用?

来自分类Dev

如何使Nginx重写与别名配合使用?

来自分类Dev

我该如何使xargs与stdin配合使用?

Related 相关文章

  1. 1

    将聚合函数与多个投影配合使用

  2. 2

    如何在gnuplot中将函数与多个文件配合使用

  3. 3

    有没有一种方法可以使jQuery的.on()函数与promises配合使用?

  4. 4

    如何在Spring Boot中将YAML属性与构造函数注入配合使用?

  5. 5

    jQuery,如何使on click函数与数组配合使用以基于id切换div?

  6. 6

    如何使jQuery与Underscore配合使用?

  7. 7

    如何让jQuery与Underscore配合使用?

  8. 8

    导航如何与 ViewModelLocator 配合使用?

  9. 9

    如何使用SelectTokens查询多个字段?

  10. 10

    当我有5个使用JavaScript的字段时,如何验证表单中的单个字段?

  11. 11

    使用Linq.Dynamic时如何按多个字段排序?

  12. 12

    包装多个静态错误以与错误配合使用

  13. 13

    Spring Sidecar如何与Docker配合使用

  14. 14

    如何使Nginx重写与别名配合使用?

  15. 15

    如何让Glimpse与EF6配合使用?

  16. 16

    如何使Zend Framework 2与Nginx配合使用?

  17. 17

    SagePay如何与PayPal Express Checkout配合使用?

  18. 18

    如何使色彩与golang制表器配合使用?

  19. 19

    如何使%in%与R中的字符配合使用?

  20. 20

    如何将配对与光子配合使用?

  21. 21

    ImmutableJS如何与Angular 2配合使用?

  22. 22

    如何使图案与输入数字配合使用?

  23. 23

    如何使Zend Framework 2与Nginx配合使用?

  24. 24

    如何使TypeScript与jQuery插件配合使用?

  25. 25

    如何使DataTables与RESTful API配合使用

  26. 26

    devise如何与多种模型配合使用?

  27. 27

    如何将KeyListener与音频配合使用?

  28. 28

    如何使Nginx重写与别名配合使用?

  29. 29

    我该如何使xargs与stdin配合使用?

热门标签

归档