eloquent 中的 select 语句给了我一个错误

我仍然在围绕 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 文档,但并没有真正找到任何专门回答我的问题的内容。请帮忙


森林海
浏览 122回答 2
2回答

莫回无

像这样改变你的代码:$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();

开满天机

您需要将两个参数都放在同一个数组中(选择查询的第二个参数):$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();
打开App,查看更多内容
随时随地看视频慕课网APP