Je vais avoir quelques problèmes traduire cette requête à utiliser Zend_Db_Select
ZF:Traduire une requête à utiliser Zend_Db_Select
SELECT b.id, b.title, b.description
FROM memberships AS m
JOIN blogs AS b ON b.id = m.blog_id
WHERE m.user_id = ?
ORDER BY m.created
LIMIT 0, 30
(cette requête fonctionne et renvoie les résultats)
Memberships
est une table de lien entre blogs
et users
. C'est une simple affaire | id | blog_id | user_id |
.
Voici ce que j'ai jusqu'à présent:
// $table = Zend_Db_Table instance, $id = a user id
$select = $table->select()
->from(array('m' => 'memberships'), array('b.id', 'b.title', 'b.description'))
->join(array('b' => 'blogs'), 'b.id = m.blog_id')
->where('m.user_id = ?', (int) $id)
->order('m.created DESC')
->limit(0, 30);
C'est le (étrange (me)) erreur que je reçois:
#0: Select query cannot join with another table
Apparu sur la ligne 211 .
Merci pour votre aide.
Cela a fonctionné comme je le voulais. Cependant, il semble retourner les résultats comme un tableau, plutôt que comme un objet? Pas un problème, je me demandais juste pourquoi. – Ross
Il ne devrait pas, en fait. Comment exécutez-vous l'instruction select? $ select-> query() devrait renvoyer un PDO_Statement ou un Zend_Db_Statement. –