Bonjour,
J'ai lu les cours sur Zend et le MVC
je vois comment faire des select.
Mais je vois pas comment faire des jointures...
j'ai par exemples 3 tables:
table 1: id_ville, nom_ville, adresse
table 2: id_region, nom_region, note
table 3: id_ville, id_region
J'ai fait des modèles pour mes tables:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <?php
class Ville extends Zend_Db_Table_Abstract
{
protected $_name = 'table1_ville';
protected $_dependentTables = array('table3_RegionVille', 'Region');
}?>
<?php
class Region extends Zend_Db_Table_Abstract
{
protected $_name = 'table2_region';
protected $_dependentTables = array(
'table3_RegionVille');
}
?>
<?php
class table3_RegionVille extends Zend_Db_Table_Abstract
{
protected $_name = 'table3_RegionVille';
protected $_referenceMap = array(
'rule_ville' => array(
'columns' => 'id_ville',
'refTableClass' => 'table1_ville',
'refColumns' => 'id_ville'
),
'rule_region' => array(
'columns' => 'id_region',
'refTableClass' => 'table2_region',
'refColumns' => 'id_region'
)
);
}
?> |
A partir de ces modèles, j'arrive à faire un select dans mon controlleur, du genre:
controlleur.php->
1 2 3 4 5 6 7
|
public function indexAction()
{
$select = $this->table2_region->select();
$this->view->table2_region=$this->table2_region->fetchAll($select);
$this->render();
} |
Mais je ne vois pas comment faire une jointure :s
par exemple afficher toutes les villes de chaque région... en tenant compte du MVC et de ZEND...
car la requête sql en tant que tel ne me pose pas de probleme, j'obtiendrais un truc du genre:
$requete="select v.id_ville, v.nom_ville from table1_ville v, table2_region r, table3_RegionVille rv where v.id_ville=rv.id_ville and rv.id_region=r.id_region group by r.id_region";
Quelqu'un pourrait-il me montrer comment faire la jointure en tenant compte des modèles (MVC) et du framework Zend?
Merci d'avance de votre aide
Partager