Sto selezione di record da un database utilizzando l'equivalente di questa query:Zend DB fetchAll(): dove gamma clausola con IN operatore
SELECT * FROM reports WHERE user_id IN (3, 6, 22);
La funzione di chiamata fetchAll() ha un argomento che è una serie di gli ID utente, e questa chiamata funziona bene:
$resultSet = $this->getDbTable()->fetchAll('user_id IN (' . implode(', ', $userIds) . ')');
Tuttavia, vorrei utilizzare un array per la clausola WHERE, perché ci saranno probabilmente altre restrizioni alla query più tardi ... e non posso capirlo per la vita di me. Ho pensato che ci fosse qualche variazione su quanto segue:
$resultSet = $this->getDbTable()->fetchAll(array('user_id IN ?' => '(' . implode(', ', $userIds) . ')'));
Ma finora nessun dado. Qualcuno può fornire la sintassi corretta qui?
Beh, è per fetchAll() al posto di dove(), ma questo è il biglietto. Avevo già provato 'user_id IN (?)' Ma l'ho associato al risultato di implode(), non solo alla matrice direttamente. – Cyranix