Выбор дб зенда? Замена в соединении* условие

Не похоже, что существует любая замена параметра в Zend_Db_Selectна пункте.

Это является очень раздражающим, как который я не могу просто сделать чего-то:

$select->joinLeft('st_line_item','st_line_item.order_id = st_order.id and st_line_item.status = ?')

Таким образом, что идиоматическое альтернативно, который работает в быстром интерфейсе? Я мог сделать что-то, любят, готовят пункт соединения на внешней стороне, но это не точка.

6
задан Koobz 2 February 2010 в 01:22
поделиться

2 ответа

Это должно работать:

$select->joinLeft(
    'st_line_item',
    $this->_db->quoteInto(
        'st_line_item.order_id = st_order.id and st_line_item.status = ?', 
        $param
    )
)

в основном, в принципе в любое время вы хотите избежать переменной, где метод ZEND_DB_ * не делает его автоматически, вы просто используете Zend_DB :: QuoteInto (), чтобы сделать работу.

10
ответ дан 9 December 2019 в 22:34
поделиться

Я всегда так делаю, это не произведение искусства, но выполняет свою работу:

$param = $db->quote($param);
$select->joinLeft(
    'st_line_item',
    'st_line_item.order_id = st_order.id and st_line_item.status = ' . $param
);
1
ответ дан 9 December 2019 в 22:34
поделиться
Другие вопросы по тегам:

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