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 39 40 41 42 43 44
| class Application_Model_DbTable_Etudiant extends Zend_Db_Table_Abstract
{
protected $_name = 'th_etudiant_etu';
protected $_primary = 'etu_id_candidat';
/**
* inscritStage(String $login)
* Donne le stage auquel est éventuellement inscrit l'étudiant
* @param String $login : Identifiant de l'étudiant connecté
* @return Zend_Db_Table_Row_Abstract : Le stage ou NULL
*/
public function inscritStage($login)
{
/* $select correspond à la requête SQL ci-dessous :
SELECT ssn.ssn_id, ssn.ssn_libelle, ssn.ssn_date_debut, ssn.ssn_date_fin,
e.etb_nom, c.cmn_nom, d.dpt_numero
FROM th_utilisateur_uti AS u
LEFT OUTER JOIN tj_cnd_inscrire_ssn_cis AS cis ON cis_id_candidat = u.uti_id_personne
LEFT OUTER JOIN te_session_ssn AS ssn ON ssn.ssn_id = cis.cis_id_session
INNER JOIN th_stage_stg AS stg ON stg.stg_id_session = ssn.ssn_id
INNER JOIN te_etablissement_etb AS e ON e.etb_id = stg.stg_id_etablissement
INNER JOIN tr_commune_cmn AS c ON c.cmn_id = e.etb_id_commune
INNER JOIN tr_departement_dpt AS d ON d.dpt_id = c.cmn_id_departement
WHERE u.uti_login = '$login'
*/
$select = $this->select(Zend_Db_Table::SELECT_WITH_FROM_PART);
$select->setIntegrityCheck(false);
$select->from(array('etu'=>$this->_name));
$select->join(array('uti'=>'th_utilisateur_uti'), 'uti.uti_id_personne = etu.etu_id_candidat');
$select->joinLeft(array('cis'=>'tj_cnd_inscrire_cis'), 'cis.cis_id_candidat = etu.etu_id_candidat');
$select->joinLeft( array('ssn'=>'te_session_ssn'), 'ssn.ssn_id = cis.cis_id_session',
array('ssn_id', 'ssn_libelle', 'ssn_date_debut', 'ssn_date_fin')
);
$select->join(array('stg'=>'th_stage_stg'), 'stg.stg_id_session = ssn.ssn_id');
$select->join(array('etb'=>'te_etablissement_etb'), 'etb.etb_id = stg.stg_id_etablissement', 'etb_nom');
$select->join(array('c'=>'tr_commune_cmn'), 'c.cmn_id = etb.etb_id_commune', 'cmn_nom');
$select->join(array('d'=>'tr_departement_dpt'), 'd.dpt_id = c.cmn_id_departement', 'dpt_numero');
$select->where('uti.uti_login = ?', $login);
return $this->fetchRow($select);
}
} |
Partager