Je suis en train d'accomplir quelque chose comme ceci:Comment créer la clause WHERE IN avec Zend_Db_Select
SELECT * FROM table WHERE status_id IN (1,3,4);
utilisant Zend_Db_Select ... Vous ne trouvez pas comment faire :(Est-il possible
Je suis en train d'accomplir quelque chose comme ceci:Comment créer la clause WHERE IN avec Zend_Db_Select
SELECT * FROM table WHERE status_id IN (1,3,4);
utilisant Zend_Db_Select ... Vous ne trouvez pas comment faire :(Est-il possible
vous pouvez également l'utiliser comme ceci:
vous ne avez pas besoin de tableau imploser, et il est plus sûr
apparemment il est super simple ... me stupide:
$select->where('status_id IN(1,3,4)');
:(
Oui, c'est vrai. –
$completionNo = implode(",",$data);
$db = Zend_Db_Table_Abstract::getDefaultAdapter();
$select = $db->select()->from(array("p"=>PREFIX . "property_master"),array('id','completion_no','total_carpet_area'))->where("p.completion_no IN (?)", $completionNo);
La première réponse fonctionne probablement dans ZF1 mais il ne fonctionne pas dans Zend Framework 2:
En cas le Zend Framework2 j'ai découvert que vous devez utiliser:
$data = array(1,3,4);
$select->where(array('status_id' => $data));
Résultat:
WHERE `status_id` IN ('1', '3', '4')
Je ne pouvais pas trouver ce documenté partout! La documentation ZF est généralement sous-optimale.
Oui, je peux confirmer que la première réponse: $ select-> where ('status_id IN (?)', $ Data); fonctionne vraiment en ZF1 – Vlado
Nous pouvons utiliser Zend\Db\Sql\Predicate\In
avec Zend\Db\Sql\Where
pour faire un où dans requête à l'intérieur d'un modèle.
$this->status_ids = array(1,3,4);
// select attributes from db by where in
$result = $this->select(function (Select $select) {
$predicate = new In();
$select->where(
$predicate->setValueSet($this->status_ids)
->setIdentifier('status_id')
);
})->toArray();
Googled ce problème et trouvé votre solution - puis réalisé que je l'avais déjà upvoted une fois. Donc, puisque je ne peux pas vous re-vendre, prenez ce commentaire comme mon gage d'appréciation! – leek
super, merci beaucoup :) –
Autant de variations sur les paramétrages INs, merci de m'avoir sauvé une soirée d'utilisation de google glopping! –