我仍然在圍繞 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 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消