Problème de requête Eloquent

Par Matchoupitchou, il y a 8 ans


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

Perfectos, il y a 8 ans

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