【问题标题】:How to use QueryBuilder and Doctrine Array type?如何使用 QueryBuilder 和 Doctrine Array 类型?
【发布时间】:2016-11-21 07:31:27
【问题描述】:

我有一个用户表,其中包含一个名为角色的属性,它是 Doctrine 数组类型。这是它在数据库中的样子: roles in user table

我正在使用 Doctrine 类 QueryBuilder 创建一个查询。
现在,我的查询看起来像这样:

    $queryBuilder->select(array("u.id", "u.roles"))
        ->from("CNDUserBundle:User", "u")
        ->setMaxResults(10)
    ;

我需要获取具有特定角色的所有用户的列表,但我不知道如何检查 Doctrine 数组类型中的值。

【问题讨论】:

  • 看到this answer类似的问题
  • 所以唯一的解决方案似乎是使用 LIKE 语句。我认为 Doctrine 实现了一些使用数组类型的方法。谢谢!
  • 你可以使用 IN,检查一个值是否在一个值数组中。

标签: php postgresql symfony doctrine-orm doctrine


【解决方案1】:
 $queryBuilder->select(array("u.id", "u.roles"))
    ->from("CNDUserBundle:User", "u")
    ->where('u.role IN (:role)')
    ->setParameter("role",array(1,2,3))
    ->setMaxResults(10)
;

类似的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-22
    • 2014-11-17
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多