/** * Retourne tableau des etudiants en recherche de stage * Possedant : * - id leur id * - name leur nom * - promotion_id leur promotion id (ou null) * - promo le nom de leur promotion * - specialite_id leur specialite id (ou null) * - spec le nom de leur specialite * Chaque etudiant possède un tableau de ses competences * L'ensemble est classée par ordre décroissante selon la date de la dernière modification de l'offre. * Permet de mettre en avant les personnes les plus presentes sur la plateforme. * @return mixed */ public function getEtudiantEnRechercheDeStage() { return Etudiant::whereRecherche('1')->whereUserType('App\\Etudiant')->join('users', 'users.user_id', '=', 'etudiants.id')->leftJoin('promotions', 'promotions.id', '=', 'etudiants.promotion_id')->leftJoin('specialites', 'specialites.id', '=', 'etudiants.specialite_id')->select('etudiants.promotion_id AS promotion_id ', 'etudiants.specialite_id AS specialite_id', 'users.name AS name', 'promotions.nom AS promo', 'specialites.nom AS spec', 'etudiants.id AS id')->with('competences')->get(); }