【问题标题】:Laravel return model between two datesLaravel 在两个日期之间返回模型
【发布时间】:2017-09-20 20:32:28
【问题描述】:

我正在尝试加载模型并在两个日期之间返回记录,但如果在两个日期之间没有找到任何内容,我想返回下一个最接近的记录,我尝试了以下方法:

$query->with(['hives' => function($q) use ($start_date, $end_date) {
                                $q->whereIn('hive_type_id',[3,4]);
                                $q->whereBetween('logged_at',[$start_date, $end_date]);
                                $q->where('active',true)->where('logged_at','<=',$end_date);
                           }]);    

已尝试链接$q-&gt;orWhere('active',true)-&gt;where('logged_at','&lt;=',$end_date),但这似乎没有任何区别。

任何帮助将不胜感激!

【问题讨论】:

    标签: php database laravel-5 eloquent


    【解决方案1】:

    这可能对你有帮助

    $query->with(['hives' => function($q) use ($start_date, $end_date) {
        $q->whereIn('hive_type_id',[3,4]); // you can wrap this in below if belong to first condition 
        $q->where(function ($qr) use ($start_date, $end_date){
          $qr->whereBetween('logged_at',[$start_date, $end_date]);
        });
        $q->orWhere(function ($qr) use ($end_date){
          $qr->where('active',true)->where('logged_at','<=',$end_date);
        });
    }]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2021-10-03
      • 1970-01-01
      • 2014-09-02
      • 1970-01-01
      相关资源
      最近更新 更多