Группировка операторов Where с Zend_Db_Table_Abstract

Дилберт является главным фаворитом, но я также действительно наслаждался xkcd комиксами прошлые годы пары. У меня есть несколько развешенные в моем кубе... Я пытаюсь действительно трудно жить этим.

Compiler Complaint

35
задан Mark 29 July 2009 в 19:19
поделиться

1 ответ

Чтобы добиться этого, вы должны создать сгруппированное предложение в рамках одного вызова метода where .

Если оба значения условий одинаковы, вы можете сделать это:

$select->where('client_email = ? OR client_email_alt = ?', $client_email)

Если в строке есть несколько заполнителей, метод адаптера БД quoteInto заменит все заполнители указанным значением.

Если вам нужно сгруппировать ИЛИ с разными значениями для каждого поля, вы должны вручную указать значения. Это немного сложнее:

$select->where(
    $db->quoteInto('client_email = ?', $email1) . ' OR ' . $db->quoteInto('client_email_alt = ?', $email2)
); // $db is your instance of Zend_Db_Adapter_*
   // You can get it from a Zend_Db_Table_Abstract 
   //subclass by calling its getAdapter() method 
55
ответ дан 27 November 2019 в 07:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: