我正在使用与此查询等效的方法从数据库中选择记录:
SELECT * FROM reports WHERE user_id IN (3, 6, 22);
调用 fetchAll() 的函数有一个参数,它是一个用户 ID 数组,这个调用工作得很好:
$resultSet = $this->getDbTable()->fetchAll('user_id IN (' . implode(', ', $userIds) . ')');
但是,我想为 where 子句使用一个数组,因为稍后可能会对查询有其他限制……而且我一辈子都弄不明白。我认为它会在以下方面有所变化:
$resultSet = $this->getDbTable()->fetchAll(array('user_id IN ?' => '(' . implode(', ', $userIds) . ')'));
但到目前为止还没有骰子。有人可以在这里提供正确的语法吗?
最佳答案
$data = array(1, 2, 3);
$select->where('user_id IN (?)', $data);
关于php - Zend 数据库 fetchAll() : where clause array with IN operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284326/