инструкция IF в Doctrine запросе в Symfony? - PullRequest
1 голос
/ 03 июля 2011

Как я могу сделать что-то:

  public function executeSearch(sfWebRequest $request)
  {
    $test = 1;

    $this->shows = Doctrine_Core::getTable('Show')
      ->createQuery('a')
      ->where('a.name = ?', 'Tom')
   if ($test == 1) {   ->andWhere('a.last_name = ?', 'Jerry') }
      ->execute();
  }

это не работает.Как я могу инструкции, если в запросе Doctrine?

ИЛИ:

  public function executeSearch(sfWebRequest $request)
  { 
    if(isset($test)){
    $test = 'Jerry';
    }
  //now if isset $test then andWhere search only with Jerry, if not isset andWhere search ALL

    $this->shows = Doctrine_Core::getTable('Show')
      ->createQuery('a')
      ->where('a.name = ?', 'Tom')
      ->andWhere('a.last_name = ?', $test) }
      ->execute();
  }

1 Ответ

5 голосов
/ 03 июля 2011
$q = Doctrine_Core::getTable('Show')
  ->createQuery('a')
  ->where('a.name = ?', 'Tom');

if ($test == 1) 
{   
  $q->andWhere('a.last_name = ?', 'Jerry');
}

$this->shows = $q->execute();
...