10
votes

Comment puis-je sélectionner le max d'une colonne à l'aide de zend_db_table?

Quel est le moyen le plus simple et le plus simple de sélectionner le maximum d'une colonne à partir d'une table à l'aide de zend_db_table? Fondamentalement, je veux juste exécuter cette requête à Zend: xxx


0 commentaires

5 Réponses :


4
votes

Vous pouvez exécuter directement sql, en utilisant $ db-> requis (); le vôtre serait simplement: xxx

mais si vous voulez la notation de l'objet, puis Vous feriez quelque chose comme ceci: xxx


0 commentaires

11
votes

Vous devez utiliser zend_db_expr pour utiliser MySQL Fonctions:

return $this->fetchAll(
            $this->select()
                ->from($this, array(new Zend_Db_Expr('max(id) as maxId')))
            )
    );


0 commentaires

1
votes

Une autre solution est comme ceci: xxx

Si vous le faites comme ça, vous pouvez le modifier plus tard plus facilement !!!


0 commentaires

2
votes

Pour ceux qui cherchent à sélectionner simplement l'ID max à partir de leur colonne ID dans Zend Framework 2 (peut-être 3 aussi), mais obtenez cette erreur ...

Lors du traitement des données de clé primaire, un identifiant de clé connu n'a pas été trouvé dans le tableau de données

... Notez que vous aurez besoin d'alias max (id) comme ID .

Exemple à l'intérieur d'une table étendu à partir de la catégorie Classe: xxx


1 commentaires

J'ai ajouté la version comme une balise à la question pour préciser.



0
votes
$select = new Select();
$select->from('tablename');
$select->where(array('post_id', 1));
$select->columns(array('id' => new Expression('MAX(id)')));
$results = $this->getTableGateway()->selectWith($select);

1 commentaires

Qu'en est-il d'une petite explication?