Как выполнять предложения MySQL IN с помощью Zend DB?

Я пытаюсь получить строки из массива целых чисел, который у меня есть с помощью Zend Framework 1.11.

$this->dbSelect
         ->from($table_prefix . 'product_link')
         ->joinLeft($table_prefix . 'product_link_name', $table_prefix . 'product_link.product_link_name_ref_id = ' . $table_prefix . 'product_link_name.product_link_name_id')
         ->where('product_ref_id IN (?)', implode(', ', $product_ids));

Когда я использую метод __ toString () для $ this-> dbSelect , я получаю

SELECT `phc_distrib_product_link`.*,
     `phc_distrib_product_link_name`.* 
FROM `phc_distrib_product_link` 
LEFT JOIN `phc_distrib_product_link_name` 
ON phc_distrib_product_link.product_link_name_ref_id = phc_distrib_product_link_name.product_link_name_id 
WHERE (product_ref_id IN ('10, 12'))

. Это возвращает только строки, удовлетворяющие условию, где product_ref_id = 10. Как я могу сделать предложение IN равным

product_ref_id IN ('10', '12')

или

product_ref_id IN (10, 12)

, используя подготовленные операторы Zend DB, чтобы я мог получить все строки, содержащиеся в массиве идентификаторов продукта?

8
задан danronmoon 30 December 2011 в 18:09
поделиться