Bonjour,
J'aimerais exécuter une requête qui marche trés bien sur SQLlyog mais que je n'arrive pas à retranscrire avec eloquent.
voici la requête :

SELECT `numserie`,rendu,t.created_at, site_id
  FROM outils 
  LEFT JOIN emprunts AS t
  ON `numserie_emprunt` = `numserie`
 WHERE t.created_at =
       ( SELECT MAX(created_at)
          FROM emprunts
          WHERE `numserie_emprunt` = t.`numserie_emprunt`)
AND rendu = 1
OR numserie_emprunt IS NULL

Voici ce que j'ai fais en php :

 $results = $this->outil->selectRaw("numserie,rendu,t.created_at, site_id")
                ->leftJoin('emprunts as t','numserie_emprunt','=','numserie')
                ->where('t.created_at','=','(SELECT MAX(created_at) FROM emprunts WHERE `numserie_emprunt` = t.`numserie_emprunt`)')
                ->where('rendu','=','1') 
                ->whereNull('numserie_emprunt')               
                ->get();

Le problème est qu'il transforme ma reqête imbriqué en chaine de caractère. Quelqu'un aurait une solution ? Merci d'avance !

1 réponse


Il y a la methode whereRaw qui n'échappe pas les caracteres