rreeee
Ini adalah kod yang saya mahu laksanakan dalam Laravel. Saya mencuba kod berikut:
select count('vehicules.id')
from vehicules
INNER JOIN (equipements, contenirs)
ON (contenirs.vehicule_id = vehicules.id AND contenirs.equipement_id = equipements.id)
WHERE(vehicules.KMActuel-contenirs.dernierKM > equipements.kilometrageMax);
Saya memanggil pembolehubah dalam paparan dan mendapat ralat berikut:
$special = DB::select("SELECT COUNT('vehicules.id') FROM vehicules INNER JOIN (equipements, contenirs) ON (contenirs.vehicule_id = vehicules.id AND contenirs.equipement_id = equipements.id) WHERE(vehicules.KMActuel-contenirs.dernierKM > equipements.kilometrageMax)");
Anda tidak boleh melaksanakan ungkapan dalam rentetan yang dihantar kepada kaedah Eloquent biasa. Anda mesti menggunakan ungkapan primitif yang boleh dihuraikan dengan sewajarnya:
DB::table('vehicules') ->join('contenirs', 'vehicules.id', 'contenirs.vehicule_id') ->join('equipements','equipements.id','contenirs.equipement_id') ->whereRaw('vehicules.KMActuel-contenirs.dernierKM > equipements.kilometrageMax') ->select('vehicules.*', 'contenirs.designation') ->count('vehicules.id');