Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Db
Zend_Db Forum d'entraide pour le composant Zend_Db du Zend Framework (création de requêtes, abstraction, ORM etc.). Avant de poster -> FAQ Zend_Db.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2011, 15h44   #1
Invité de passage
 
Homme
Administrateur de base de données
Inscription : mars 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mars 2011
Messages : 21
Points : 0
Points : 0
Par défaut Relation de table

Bonjour,

Je cherche à trouver une méthode (la plus simple et la plus utilisée) pour faire une relation de table.

Je possède 4 tables :

Citation:
MEMBRE
NoMembre PK
Nom
Prénom

EMPRUNT
NoMembre PK,FK
NoBD PK,FK

BD
NoBD PK
Titre
NoDessinateur FK

DESSINATEUR
NoDessinateur PK
Nom
Je voudrais faire un fetchAll de toutes les bandes dessinée que le membre a emprunté dont le nom du dessinateur commence par la lettre A, trié par ordre alphabétique.

Je connais la solution en SQL mais pas en Zend,

voici le code SQL :

Code :
1
2
3
4
5
6
 
SELECT * FROM emprunt
JOIN bd ON bd.NoBD = emprunt.NoBD
JOIN dessinateur ON bd.NoDess = dessinateur.NoDess
WHERE Nom Like 'A%' AND NoMembre = 1
ORDER BY Titre
mbagiella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2011, 11h14   #2
Invité de passage
 
Homme
Administrateur de base de données
Inscription : mars 2011
Messages : 21
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mars 2011
Messages : 21
Points : 0
Points : 0
Par défaut Moi je veut bien te répondre

Voici comment tu pourrais faire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
 
<?php
$emprunt = new Application_Model_DbTable_Emprunt();
        $select = $emprunt->select();
        $select->from('emprunt');
        $select->setIntegrityCheck(false);
        $select->join('bd', 'bd.NoBD = emprunt.NoBD');
        $select->join('dessinateur','bd.NoDess = dessinateur.NoDess');
        $select->order('Titre');
        $select->where("Nom LIKE 'A%' AND NoMembre = 1");
?>
Service
mbagiella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/03/2011, 17h24   #3
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Une lecture attentive de cette page se révèlera également riche d'enseignements...

http://framework.zend.com/manual/fr/...efinition.html
__________________
  • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
  • Merci d'utiliser les balises de code (# dans l'éditeur)
  • Si votre problème est réglé, merci d'utiliser le bouton
S.N.A.F.U
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 21h49   #4
Candidat au titre de Membre du Club
 
Inscription : novembre 2005
Messages : 8
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 8
Points : 11
Points : 11
Citation:
Envoyé par s.n.a.f.u Voir le message
Une lecture attentive de cette page se révèlera également riche d'enseignements...

http://framework.zend.com/manual/fr/...efinition.html
L'utilisation de Zend_Dd_Table est effectivement plus approprié je pense.

A savoir que si ton schéma de BDD est bien conçu avec toute les contraintes d'intégrités ceci est encore plus simple.
Tu peux également utilisé les referenceMap des Db Table pour tes liaisons.
peterexia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h32.


 
 
 
 
Partenaires

Hébergement Web