Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-02-2010 17:12:22

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

[Résolu]findManyToManyRowset avec order() et limit()

Bonjour,

J'utilise findManyToManyRowset() qui me retourne les résultats attendu.

Mais je souhaiterai faire la requête avec un ORDER BY DESC et LIMIT(1), c'est à dire prendre la dernière entrée de la table.

Pour plus de compréhension voici le code :

Code:

$table = new Model_DbTable_Item();
//je cherche le jeu de résultat de la table Item grâce à l'ID que j'ai
$result = $table->find($id)->current(); 
//Je passe par Attribut pour arriver à User
$user = $result->findManyToManyRowset('Model_DbTable_User', 'Model_DbTable_Attribut'); 

foreach ($user as $row) {
    //affichage
 }

Pour info, voici les tables simplifiés

ITEM
|
|_item_id

ATTRIBUT
|
|_attribut_item_fk
|_attribut_user_fk
|_date

USER
|
|_user_id


Donc avec item_id je trouve tous les user_id, mais il me faut juste le dèrnier : exemple de la table Attribut

item_id        user_id        date   
   5                 9                2009-12-11
   5                 12              2010-02-26
   2                 3                2010-02-05


Donc le bout de code ci-dessus m'affichera : '9' et '12', or moi je veux juste '12' car si on compare les date c'est lui qui à la plus grande (^^).


Voilà! Merci!

EDIT : la réponse m'intéraisse toujour,
pour l'instant je vais chercher les User dans Attribut ayant un Item donné (c'est la clause where), puis pour chaqu'un faire un select dans User pour avoir ces infos.

L'idée c'est d'éviter la jointure entre 3 tables qui vont avoir des milliers de lignes.

EDIT2 : findManyToManyRowset() ne ferais pas par hasard des jointure ?

Dernière modification par maryooman (21-04-2010 15:51:43)

Hors ligne

 

#2 01-03-2010 11:53:46

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

Re: [Résolu]findManyToManyRowset avec order() et limit()

J’ai réglé ce problème en faisant une grosse jointure.

EDIT : j'avais mis une question par rapport au where('truc = NULL'), il faillais mettre where('truc IS NULL') .....
ça peut aider peut être

Dernière modification par maryooman (01-03-2010 12:06:40)

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