Zend DB fetchAll (): IN operatörü ile nerede fıkra dizi

1 Cevap php

Ben bu sorgunun eşdeğer kullanarak bir veritabanından kayıtları seçerek ediyorum:

SELECT * FROM reports WHERE user_id IN (3, 6, 22);

FetchAll çağrı fonksiyonu () kullanıcı kimlikleri bir dizi var bir argüman vardır ve bu çağrı sadece çalışıyor:

$resultSet = $this->getDbTable()->fetchAll('user_id IN (' . implode(', ', $userIds) . ')');

Ancak, muhtemelen daha sonra sorgu için diğer kısıtlamalar olacak, çünkü ben nerede yan tümcesi için bir dizi kullanmak istiyorum ... ve ben bana yaşam için onu anlamaya olamaz. Ben aşağıdaki bazı farklılıklar olacağını düşündüm:

$resultSet = $this->getDbTable()->fetchAll(array('user_id IN ?' => '(' . implode(', ', $userIds) . ')'));

Ama şimdiye kadar hiçbir zar. Birisi burada doğru sözdizimi sağlayabilir?

1 Cevap

Zend 2'de

$data = array(1, 2, 3);
$select->where('user_id', $data);