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 05/09/2007, 23h36   #1
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
Par défaut Zend_db / tuto+

Bonjour,

La partie Zend_Db_Table, je lutte un peu avec
si je reprends le tuto débuter avec MVC il y a une seule table
Code :
1
2
3
4
5
6
CREATE TABLE album (
    id int(11) NOT NULL auto_increment,
    artist varchar(100) NOT NULL,
    title varchar(100) NOT NULL,
    PRIMARY KEY (id)
)
avec donc ce joli code:
Code :
1
2
3
4
5
<?php
class Album extends Zend_Db_Table
{
    protected $_name = 'album';
}
et la methode fetchall suffit.

je voudrais étendre un peu l'exemple et avoir 2 tables. par exemple:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE album (
    id int(11) NOT NULL auto_increment,
    title varchar(100) NOT NULL,
    id_artiste int(11) NOT NULL,
    producteur varchar(100) NOT NULL,
    inge_son varchar(100) NOT NULL,
    PRIMARY KEY (id)
)
CREATE TABLE artiste (
    id int(11) NOT NULL auto_increment,
    artist varchar(100) NOT NULL,
    age varchar(100) NOT NULL,
    PRIMARY KEY (id)
)
du coup, mon model.php aura l'air de ca ?
Code :
1
2
3
4
5
6
7
8
9
<?php
class Album extends Zend_Db_Table
{
    protected $_name = 'album';
}
class Artiste extends Zend_Db_Table
{
    protected $_name = 'artiste';
}
c'est bien ca ?
si oui, alors je ne vois pas trop comment faire des requêtes avoir jointures.
je vois bien comment definir une methode de selection specifique a Album dans la classe Album, mais je ne vois pas comment faire une requete sur les 2 tables.
Est-ce que quelqu'un peut m'aider un peu ? je précise que ca tourne sur mySQL et que les bdd, c'est pas mon fort
merci
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 10h01   #2
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
je donne quand meme un exemple de requete a effectuer.
"trouver tous les titres d'album des chanteurs ayant entre 20 et 30 ans"

je souhaitais definir toutes les requetes directement dans les classes de modele, c'etait tres propre.
mais je ne vois pas comment mettre une requete comme celle la.
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2007, 10h41   #3
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Julien Pauli a un peu plus détaillé les accès BDD avec ZF : http://julien-pauli.developpez.com/
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2007, 12h48   #4
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
en fait, je pense avoir trouvé la solution.
je n'avais pas compris que dans la classe Album, je pouvais tout a fait appeler la table Artiste.
ce qui veut dire que je peux me faire une fonction, dans la classe Album, qui utilise une jointure avec la table Artiste pour sortit les albums d'artiste ayant entre 20 et 30 ans.

par contre, je ne suis pas sur que ca soit la meilleure methode.
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h35.


 
 
 
 
Partenaires

Hébergement Web