如何将多个查询包装到laravel中的单个where子句中
我想从pasien_polis表中获取记录,其中Polycolinic_id与Polycolinics表的id匹配 我可以这样做:如何将多个查询包装到laravel中的单个where子句中,laravel,filter,eloquent,where,clause,Laravel,Filter,Eloquent,Where,Clause,我想从pasien_polis表中获取记录,其中Polycolinic_id与Polycolinics表的id匹配 我可以这样做: $polyclinic = Polyclinic::findOrFail($id); $pasienpoli = Polyclinic::find($id)->PasienPoli; 接下来我要过滤的是在记录中创建的记录,我只想获取今天创建的记录。 此查询运行良好: $pasienpoli = DB::table('pasien_po
$polyclinic = Polyclinic::findOrFail($id);
$pasienpoli = Polyclinic::find($id)->PasienPoli;
接下来我要过滤的是在记录中创建的记录,我只想获取今天创建的记录。
此查询运行良好:
$pasienpoli = DB::table('pasien_polis')->whereDate('created_at', '=', \Carbon\Carbon::today()->toDateString())->get();
当我想将这两个过滤器组合成一个where子句时,问题出现了
我尝试了以下操作,但返回空值:
需要帮忙吗
更新:
我想你可以试试这个:
$pasienpoli = DB::table('pasien_polis')
->join('polyclinics','polyclinics.id','=','pasien_polis.polyclinic_id')
->where([
['pasien_polis.polyclinic_id', '=', $id],
['pasien_polis.created_at', '=', \Carbon\Carbon::today()->toDateString()]])
->get();
希望这对你有帮助 通过修改@AddWeb Solution Pvt的答案解决了这个问题,非常感谢。
这是我最后的工作查询:
$pasienpoli = DB::table('pasien_polis')
->join('polyclinics','polyclinics.id','=','pasien_polis.polyclinic_id')
->where([
['pasien_polis.polyclinic_id', '=', $id],
[DB::raw('DATE(pasien_polis.created_at)'), '=', \Carbon\Carbon::today()->toDateString()]
])->get();
请出示两张表的表结构pasien_polis,Polyclinics我已经更新了帖子并发布了表结构@AddWebSolutionPVTLTD仍然会得到相同的结果。我试图将polycolinics.id更改为id,但出现了mysql错误。在aptana中,它表示语法错误,但我认为这不是真正的问题。我觉得我已经正确地设置了关系,但仍然没有使它正常工作。我接受了这个答案,因为我通过修改这个答案使它工作。非常感谢你。
$pasienpoli = DB::table('pasien_polis')
->join('polyclinics','polyclinics.id','=','pasien_polis.polyclinic_id')
->where([
['pasien_polis.polyclinic_id', '=', $id],
[DB::raw('DATE(pasien_polis.created_at)'), '=', \Carbon\Carbon::today()->toDateString()]
])->get();