Я пытаюсь получить строки, которые находятся в массиве целых чисел, которые у меня есть, используя 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, чтобы я мог получить все строки, содержащиеся в массиве идентификатора продукта?