Laravel负载无法按预期工作

时间:2019-01-13 13:21:30

标签: php mysql laravel laravel-5 laravel-5.1

我正在尝试使用jquery加载更多内容

  $response=Event::where(function ($query){
            $query->whereDate('event_start_date','>=',Carbon::now());
            $query->orWhereDate('event_end_date','>=',Carbon::now());

        })->orderBy('event_start_date', 'ASC')
            ->limit(12)->get() ;

由于event_start_date是1月30日,我有10个帖子,其中id = 4、5、6帖子事件将结束

每当我单击“加载更多”时,我都会发送上一个事件ID,因此不会出现帖子4,5,6,因为我有条件$query->where('id','>',$request->id);

示例数据库数据

id |event_start_date | event_end_date
1 |2019-01-15 20:00:00|2019-01-15 20:00:00
2 |2019-01-15 20:00:00|2019-01-15 20:00:00
3 |2019-01-15 20:00:00|2019-01-15 20:00:00
4 |2019-01-27 20:00:00|2019-01-30 20:00:00
5 |2019-01-28 20:00:00|2019-01-31 20:00:00
6 |2019-01-29 20:00:00|2019-01-31 20:00:00
7 |2019-01-15 20:00:00|2019-01-15 20:00:00
8 |2019-01-15 20:00:00|2019-01-15 20:00:00
9 |2019-01-15 20:00:00|2019-01-15 20:00:00
10 |2019-01-15 20:00:00|2019-01-15 20:00:00

任何人都可以帮助我如何解决此问题?

1 个答案:

答案 0 :(得分:1)

如果您不发送页面获取属性并用作$query->where('id','>',$request->id),请使用以下查询

$response=Event::when(isset($request->id),function ($query)use ($request){
        $query->where('id','>',$request->id);
    })->where(function ($query){
        $query->whereDate('event_start_date','>=',Carbon::now());
        $query->orWhereDate('event_end_date','>=',Carbon::now());

    })->orderBy('event_start_date', 'ASC')
      ->take(12)->get() ;

如果您发送页面获取属性,例如xyz.com?page=1

$response=Event::whereDate('event_start_date','>=',Carbon::now())
                 ->orWhereDate('event_end_date','>=',Carbon::now())
                 ->orderBy('event_start_date', 'ASC')->paginate(12);