Est-ce que quelqu'un voit le problème avec cela?Zend Framework 2 sélectionnez ou
Je suis en train d'utiliser prédicat pour comparer les nombres entiers dans une déclaration qui devrait ressembler à ceci
SELECT * FROM `table` WHERE (cat1=1 OR cat1=2 OR cat2 = 1 OR cat2 = 2);
ce que j'ai
$resultSet = $this->select(function (Select $select) {
$where = new \Zend\Db\Sql\Where();
$pred_1 = new \Zend\Db\Sql\Predicate\Like('cat1', 1);
$pred_2 = new \Zend\Db\Sql\Predicate\Like('cat1', 2);
$pred_3 = new \Zend\Db\Sql\Predicate\Like('cat2', 1);
$pred_4 = new \Zend\Db\Sql\Predicate\Like('cat1', 2);
$where->orPredicate($pred_1)->orPredicate($pred_2)->orPredicate($pred_3)->orPredicate($pred_4);
});
resultSet
est un objet, mais il retourne tous les résultats de la table, sans filtrage
La ligne '$ pred_4 = nouveau \ Zend \ Db \ Sql \ Prédire \ Like ('cat1', 2);' a cat1 au lieu de cat2. Cela pourrait-il être un problème? – akond
Ne devez-vous pas connecter le '$ where' au' $ select' d'une façon ou d'une autre? Comme '$ select-> where-> ouPredicate (...)' –