我正在尝试使用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
任何人都可以帮助我如何解决此问题?
答案 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);