Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将多个查询包装到laravel中的单个where子句中_Laravel_Filter_Eloquent_Where_Clause - Fatal编程技术网

如何将多个查询包装到laravel中的单个where子句中

如何将多个查询包装到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

我想从pasien_polis表中获取记录,其中Polycolinic_id与Polycolinics表的id匹配

我可以这样做:

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