为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
森林海 2021-10-22 13:11:08
我仍然在围绕 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();


查看完整回答
反对 回复 2021-10-22
?
开满天机

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();


查看完整回答
反对 回复 2021-10-22
  • 2 回答
  • 0 关注
  • 121 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号