cari

Rumah  >  Soal Jawab  >  teks badan

Ketahui cara menulis pernyataan ini menggunakan SQL dalam Laravel

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)");

P粉851401475P粉851401475446 hari yang lalu560

membalas semua(1)saya akan balas

  • P粉099145710

    P粉0991457102023-09-08 09:19:39

    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');
    

    balas
    0
  • Batalbalas