我有一个页面,其中应同时显示实时报告和过去的报告,但是当实时报告时间到期时,不应加载实时报告,而应根据时间仅显示过去的报告。
当前使用的查询,

$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')
        ->where('papers.id','payments.paper_id')
        ->where('papers.type','=','Normal')
        ->orWhere('papers.live_end_time', '>=' ,$curdate)
        ->where('payments.user_id',$id)
        ->get();


这显示的是现场论文,而不是过去的论文。当时间到时,实时文件将被隐藏。当我更改whereorWhere子句的位置时,显示的是过去的文章,但不显示实时文章,这是为什么发生并且是固定的。

最佳答案

我认为您为orWhere语句弄错了条件,请尝试使用->orWhere('papers.live_end_time', '<=' ,$curdate)这样,它将对您要完成的任务起作用

关于php - laravel 5.6查询构建器,其中or不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49551720/

10-12 05:38