我仍然在围绕 Laravel 雄辩。我想用雄辩的方式编写以下查询SELECT * FROM tableA where id = $variableID AND grade_id = $gradeID我雄辩地尝试了以下内容:$totalGreen = DB::select('SELECT * FROM tableA WHERE id = ? AND grade_id = ?',[$visitdetail->id],[1]);但我收到此错误:SQLSTATE[HY093]: 无效的参数号 (SQL: SELECT * FROM tableA WHERE id = 5 AND Grade_id = ?)我浏览了 laravel 文档,但并没有真正找到任何专门回答我的问题的内容。请帮忙
2 回答

莫回无
TA贡献1865条经验 获得超7个赞
像这样改变你的代码:
$totalGreen = DB::select('SELECT * FROM tableA WHERE id = ? AND grade_id = ?',[$visitdetail->id, 1]);
或者如果想使用 eloquent 你可以这样写:
$totalGreen = YourModel::where(['id'=> $visitdetail->id, 'grade_id'=>$gradeID])->get();

开满天机
TA贡献1786条经验 获得超13个赞
您需要将两个参数都放在同一个数组中(选择查询的第二个参数):
$totalGreen = DB::select(
'SELECT * FROM tableA WHERE id = ? AND grade_id = ?',
[$visitdetail->id, 1]
)->get();
您还可以使用查询构建器而不是编写原始 SQL:
$totalGreen = DB::table('tableA')
->where('id', $visitdetail->id)
->where('grade_id', 1);
->get();
- 2 回答
- 0 关注
- 121 浏览
添加回答
举报
0/150
提交
取消