学习如何在Laravel中使用SQL编写这个语句
P粉851401475
P粉851401475 2023-09-07 19:15:53
0
1
503

    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学习者快速成长!