Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 10-08-2010 15:56:35

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

Plusieurs options dans une requête

Bonjour,

Je cherche à faire une recherche du type suivant :

Code:

    public function search($word, $argument1, $argument2)
    {
        $query = $this->select()->setIntegrityCheck(false)

                ->from(array('u' => 'user'))
                ->join(array('cc' => 'cc'), 'u.user_cc_fk = cc.cc_id')
                ->join(array( etc …..

                ->where("nom LIKE '%$word%'")

                ->where('untruc = ?', $word)

                if ($argument1 == true) ->where('unAutreTruc IS null')

                if ($argument2 == 5) ->order('toto')

                ->limit(10);    

        return $this->fetchAll($query);
    }

Bien sûr elle ne fonctionne pas, mais j’aimerais ne pas copier X fois cette fonction de recherche pour changer juste un ‘where()’. Surtout qu’en vrai  elle fait 25 lignes…

Avez-vous une idée comment tout mettre dans une seul fonction.

Hors ligne

 

#2 10-08-2010 19:44:08

nosferapti
Membre
Date d'inscription: 10-01-2010
Messages: 40

Re: Plusieurs options dans une requête

essaye ça :

Code:

    public function search($word, $argument1, $argument2)
    {
        $query = $this->select()->setIntegrityCheck(false)
                ->from(array('u' => 'user'))
                ->join(array('cc' => 'cc'), 'u.user_cc_fk = cc.cc_id')
                ->join(array( etc …..
                ->where("nom LIKE '%$word%'")
                ->where('untruc = ?', $word)
                ->limit(10);
        
        if ($argument1) {
            $query->where('unAutreTruc IS null');
        }
        
        if ($argument2 == 5) {
            $query->order('toto');
        }
        
        return $this->fetchAll($query);
    }

GNAP !

Hors ligne

 

#3 11-08-2010 09:46:57

maryooman
Membre
Date d'inscription: 15-02-2010
Messages: 106

Re: Plusieurs options dans une requête

merci ça marche!
c'étais tellement évident ....

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