MathAng
MathAng

Reputation: 452

Query can be null, but can have a value too

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

Answers (1)

fonini
fonini

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

Related Questions