Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
J'aimerais transposer la requête SQL suivante :
SELECT personne.pers_id, personne.pers_nom, personne.pers_prenom
FROM personne
INNER JOIN inscription ON personne.pers_id = inscription.elv_id
WHERE (icp_date_evaluation IS NULL)
Voici le mon code PHP/ZF :
class Table_Personne extends Zend_Db_Table_Abstract
{
protected $_name = 'personne';
protected $_primary = 'pers_id';
public function getPersonneNonEvalue(){
$select = $this->select()
->setIntegrityCheck(false)
->from($this, array('pers_id', 'pers_nom', 'pers_prenom'))
->join('inscription', 'personne.pers_id = inscription.elv_id')
->where('icp_date_evaluation IS NULL');
return $this->fetchAll($select);
}
}
Par contre, dans le log MySQL voilà ce que j'ai :
SELECT `personne`.`pers_id`, `personne`.`pers_nom`, `personne`.`pers_prenom`, `inscription`.*
FROM `personne`
INNER JOIN `inscription` ON personne.pers_id = inscription.elv_id
WHERE (icp_date_evaluation IS NULL)
Comment éviter l'appel à 'inscription.*' ?
Merci, Yohann
Hors ligne
Le troisième paramètre (facultatif) de la fonction join est comme le deuxième paramètre de from. Tu peux donc ainsi limiter la liste des rubriques que tu veux dans le select.
->join('inscription', 'personne.pers_id = inscription.elv_id', array())
Hors ligne