Laravel 5.6显示的数据库记录早于当前日期和时间

时间:2018-03-20 08:19:35

标签: mysql datetime query-builder laravel-5.6

我需要从我的数据库中获取数据,其中只显示比今天更早的数据。这是我正在使用的代码

$curdate=Carbon::now();
    $papers = DB::table('papers')
    ->join('payments','papers.id','=','payments.paper_id')
    ->join('tutors','papers.tutor_id','tutors.id')
    ->select('papers.*','tutors.name',DB::Raw('TIMEDIFF(papers.release_date,papers.live_end_time)AS diff'))
    ->where('papers.release_date',null)
    ->orWhere('papers.live_end_time', '>=' ,$curdate)
    ->where('papers.id','=','payments.paper_id')
    ->where('payments.user_id',$id)
    ->get();

这为我提供了release_date为空的数据,但在live_end_time设置为未来日期时未向我提供数据。是否有不同的方法来完成此任务。感谢。

1 个答案:

答案 0 :(得分:0)

发现问题我必须更改config/app.php

中的默认时区
    /*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. We have gone
| ahead and set this to a sensible default for you out of the box.
|
*/

'timezone' => 'Asia/Colombo',

timezone应根据您所在的地区进行更改。