You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 如何获取数据库表中匹配指定restaurant_id字段值的所有记录

问题排查&解决步骤

  • 第一步:校验$restaurantId变量有效性
    无报错但无返回结果最常见的原因是变量值不符合预期,你可以先临时添加调试代码输出变量值,确认其非空、类型和数据库restaurant_id字段类型匹配(比如字段为整型时变量不要传字符串格式的数字、空值等):
    dd($restaurantId);
    
  • 第二步:校验生成的SQL语句正确性
    你可以打印查询构造器生成的原生SQL和绑定参数,直接放到数据库中执行,确认是否真的存在匹配的记录:
    $query = DB::table('bookings')->where('restaurant_id', $restaurantId);
    // 输出SQL语句和绑定的参数
    dd($query->toSql(), $query->getBindings());
    
    如果直接执行SQL也无匹配结果,说明是数据或参数值的问题,和查询代码逻辑无关。
  • 第三步:补全缺失的业务逻辑
    你的旧代码包含排序、转数组的操作,新代码缺失这部分逻辑,如果后续业务依赖数组格式/排序后的结果,也会导致功能异常,推荐直接在数据库层面完成排序(性能远高于查完全部数据后在PHP层面排序),完整可运行的代码如下:
    $records = DB::table('bookings')
        ->where('restaurant_id', $restaurantId)
        ->orderBy('booking_time')
        ->get()
        ->toArray();
    
  • 其他排查点
    检查bookings表的restaurant_id字段名是否拼写正确,比如是否存在resturant_id这类拼写错误、大小写不匹配的问题。

内容的提问来源于stack exchange,提问作者ImCoding

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 23:24:00