Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-01-2016 11:23:23

epcgroupe
Membre
Date d'inscription: 18-01-2016
Messages: 44

[zf2][en cours]Requête zend\db avec Predicate and '(' & ')'

Bonjour,

j'ai besoin d'aide pour placer 2 parenthésés : ouvrir '(' et fermer ')'.

Bref en apparence rien de bien compliquer.

La requête en SQL :

Code:

SELECT *
FROM vw_my_asn_header
WHERE username = 'toto'
  AND (shipment_number LIKE '20151106052811' OR
       shipment_number LIKE '20151110053250' OR
       shipment_number LIKE '20151116054359')
ORDER BY message_id ASC

En Zend :

Code:

public function searchSitesDeliveries($username, Search $search)
{
    $select = $this->tableGateway->getSql()->select();
    array(new Predicate\Expression('username = ?', $username)),Predicate\PredicateSet::COMBINED_BY_AND);
 
    if (!empty($search->get_shipment_number()))
    {
        $valeur = $search->get_shipment_number();
 
        if(is_array($valeur)) {
           $valeur = array_unique($valeur);
 
           foreach ($valeur as $key => $value) {
               $predicate_set->orPredicate(new Predicate\Like('shipment_number', '%'.$value.'%'));
           }
        }
        else {
           $predicate_set->andPredicate(new Predicate\Like('shipment_number', '%'.$valeur.'%'));
        }
    }
 
    $select->where($predicate_set);
    $resultSet = $this->tableGateway->selectWith($select);
 
    return $resultSet;
}

Le résultat du code zend :

Code:

["queryString"] => string(181) "
SELECT vw_my_asn_header
FROM vw_my_asn_header
WHERE
(username = :where1
AND shipment_number LIKE :where2
OR shipment_number LIKE :where3
OR shipment_number LIKE :where4)"

Mon problème vient que "AND" doit être suivi de "(" et finir derrière le "where4" par '))'.

Bref si quelqu'un si connait dans les Predicate de Zend, un coup de main n'est pas de refus pour ce #@!.

Merci wink

Dernière modification par epcgroupe (29-01-2016 11:29:43)

Hors ligne

 

#2 29-01-2016 16:51:18

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [zf2][en cours]Requête zend\db avec Predicate and '(' & ')'

Sujet dupliqué et fermé. Continuer la discussion sur http://www.z-f.fr/forum/viewtopic.php?id=9500

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages