Reputation: 452
I have a problem.
In my repository, I want to create a request
public function getTemplatesByUser($user)
{
return $this->createQueryBuilder('r')
->select('r.ficName')
->setParameter('user',$user)
->where('r.user = :user')
->getQuery()
->getArrayResult();
}
But, my user can be null. some and if I call getTemplatesByUser(null) it dosn't work....
I can have somethink like this which works :
public function getTemplatesByUser($user)
{
return $this->createQueryBuilder('r')
->select('r.ficName')
->where('r.user IS NULL')
->getQuery()
->getArrayResult();
}
But, how can I have only 1 return which works with null but also with values?
Thanks a lot
Upvotes: 2
Views: 45
Reputation: 3341
public function getTemplatesByUser($user)
{
$query = $this->createQueryBuilder('r')
->select('r.ficName');
if ($user){
$query->setParameter('user',$user)
->where('r.user = :user');
} else {
$query->where('r.user IS NULL');
}
return $query->getQuery()
->getArrayResult();
}
Upvotes: 1