Zend DB fetchAll():where子句数组与IN运算符

Cyr*_*nix 14 php sql zend-db

我正在使用相当于此查询的数据库从数据库中选择记录:

SELECT * FROM reports WHERE user_id IN (3, 6, 22);
Run Code Online (Sandbox Code Playgroud)

调用fetchAll()的函数有一个参数,它是一个用户ID数组,这个调用工作得很好:

$resultSet = $this->getDbTable()->fetchAll('user_id IN (' . implode(', ', $userIds) . ')');
Run Code Online (Sandbox Code Playgroud)

但是,我想为where子句使用一个数组,因为稍后可能会对查询有其他限制...而且我无法弄明白我的生活.我认为这将是以下的一些变化:

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

但到目前为止还没有骰子.有人可以在这里提供正确的语法吗?

Vla*_*nco 21

$data = array(1, 2, 3);
$select->where('user_id IN (?)', $data);
Run Code Online (Sandbox Code Playgroud)