學習如何在Laravel中使用SQL來寫這個語句
P粉851401475
P粉851401475 2023-09-07 19:15:53
0
1
533

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

這是我想要在Laravel中執行的程式碼。 我嘗試了以下程式碼:

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

我在視圖中呼叫變量,然後出現了以下錯誤:

htmlspecialchars() expects parameter 1 to be string, array given (View: C:\laragon\www\GSMV\resources\views\dash.blade.php)

P粉851401475
P粉851401475

全部回覆(1)
P粉099145710

您不能在傳遞給常規的 Eloquent 方法的字串中執行表達式。您必須使用可以對應解析的原始表達式:

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');
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!