Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 21-08-2007 16:10:50

rod
Administrateur
Lieu: Tours
Date d'inscription: 01-03-2007
Messages: 97
Site web

[Solution][Zend_Db_Table][*.*.*] findBy{$Field}

Une petite personnalisation de la class Zend_Db_Table très pratique pour récupérer des lignes de résultats sans devoir recoder la clause where à chaque fois.

Code:

/**
 * Implements a simple findByField wrapper
 */
public function __call($method, $args)
{
    if (preg_match('/^findBy([a-zA-Z0-9]+)$/', $method, $parts)) {
        $field = strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $parts[1]));
        if (!in_array($field, $this->_cols)) {
            throw new Zend_Db_Table_Exception(sprintf('\'%s\' field not in row', $field));
        } else {
            $db = $this->getAdapter();
            $where = $db->quoteInto($db->quoteIdentifier($field).' = ?', $args[0]);
            return $this->fetchAll($where);
        }
    }
}

Vu sur : http://fashion.hosmoz.net/post/2007/08/ … d_Db_Table

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