首页 > 解决方案 > 如何通过bind将多个参数传递给查询?

问题描述

我有一个查询收到: year 几次。今年是相同的值。我将如何通过绑定传递这个值?如下错误。

 $year = 2020;
 $result = DB::select("        
 SELECT
 SUM(CASE WHEN demission IS NULL AND MONTH(admission) = 1  AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm1,
 SUM(CASE WHEN demission IS NULL AND MONTH(admission) = 2  AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm2,
 SUM(CASE WHEN demission IS NULL AND MONTH(admission) = 3  AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm3,
 SUM(CASE WHEN demission IS NULL AND MONTH(admission) = 4  AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm4,
 SUM(CASE WHEN demission IS NULL AND MONTH(admission) = 5  AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm5,
 SUM(CASE WHEN demission IS NULL AND MONTH(admission) = 6  AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm6,     
 SUM(CASE WHEN demission IS NULL AND YEAR(admission) = :year THEN 1 ELSE 0 END) adm_total,
 WHERE client_id = :client_id;", array('client_id'=>$clientId, 'year'=>$year));

下面的这种方式有效(一年中出现一次)

  $year = 2020;
  $result = DB::select("            
  SELECT
  SUM(CASE WHEN YEAR(demission) = :year THEN 1 ELSE 0 END) dem_total    
  WHERE client_id = :client_id;", array('client_id'=>$clientId, 'year'=>$year));

stackoverflow-pt 没有很多 laravel 内容。

标签: laravel

解决方案


推荐阅读