我有一个查询要从具有日期的实体获取用户名:
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/