laravel - 如何通过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 内容。
解决方案
推荐阅读
- javascript - 我的 Javascript 代码在第一次点击时不起作用
- java - java - 创建实例usinc jackson时如何在Java中的方法参数中传递类的类型信息?
- c++ - 迭代时从标准集中删除元素会导致无限循环
- swiftui - SwiftUI 使用 NavigationView 中的 tabview 自动折叠导航栏
- cypress - cypress 运行从带有 cypress 7.7.0 版本的 CI 管道失败
- c++ - 'MT_StaticRelease' 与使用 cmake vcpkg 的'MD_DynamicRelease' 不匹配
- c# - 我如何访问 chrome 上的控制台日志并断言是否存在一行?
- nuget - 使用 NuGet 包资源管理器控制文件的部署位置
- flutter - 颤动中ListView.builder中的不同页面导航?
- java - 如何在连接中预先评估百里香中的语句?