php - QueryBuilder 查询数组值

标签 php arrays symfony doctrine-orm

我有一个查询要从具有日期的实体获取用户名:

return $this->createQueryBuilder('t')
    ->select('t.username')
    ->where('t.date = :date')
    ->andWhere('t.username = :username')
    ->setParameter('date', $date)
    ->setParameter('username', $username)
    ->getQuery()
;

但是,当我想在数组中查找用户名时,我使用这个:

if (in_array($user_array, $username) != true) {

我得到这个 $username 数组:

array(1) {
  [0] =>
  array(1) {
    'username' =>
    string(9) "username1"
  }
}
array(1) {
  [0] =>
  array(1) {
    'username' =>
    string(10) "username90"
  }
}
array(1) {
  [0] =>
  array(1) {
    'username' =>
    string(10) "username12"
  }
}

是否可以搜索用户名是否在数组中?我需要调整我的 QueryBuilder 代码还是需要求助于 Symfony 中的其他解决方案?

最佳答案

您可以使用in 函数。例如:

    public function getUser($arrays, $date)
    {
 $qb = $this->createQueryBuilder('t');
return $qb
    ->select('t.username')
    ->where('t.date = :date')
    ->andWhere($qb->expr()->in('t.username', $arrays) )
    ->setParameter('date', $date)
    ->getQuery()
;
}

更多信息 here

希望对你有帮助

关于php - QueryBuilder 查询数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31784004/

相关文章:

php - 使用 WordPress 将页面上的众多输入之一提交到 mysql 数据库

symfony - 无法访问NULL变量("username"上的属性("")

php - 功能测试失败,csrf_protection = true

php - 在记录集的循环内循环

php - 如何在以下条件下为 4 个表编写 JOIN QUERY

javascript - JQuery 嵌入到 php echo 中。不成功

javascript - 在 javascript 中将 6*6 数组转换为 3*3 数组的问题

python - 在 python 中不使用循环填充 3D 数组

python - 检查 2 列表中有多少值相等

php - Symfony 2 Doctrine MS SQL 错误