【发布时间】:2018-06-23 07:43:15
【问题描述】:
我确实有这三种方法可以在我的管理仪表板上返回一些数据。它们工作正常。但是,客户希望按时间进行一些过滤。
所以我确实有一些从 vuejs 发送到后端的参数,例如:
filterByPeriod: {
from:YYYY-MM-DD,
to: YYYY-MM-DD
}
我可以通过请求类获取这些参数,我的问题是如何根据时间过滤这些方法
private function getReservationSources()
{
return Reservations::where('user_id', request('user_id')
->leftJoin('tracking_codes', 'form_submissions.tracking_code_id', '=', 'tracking_codes.id')
->leftJoin('tracking_sources', 'tracking_sources.id', '=', 'tracking_codes.tracking_source_id')
->select(DB::raw("count(form_submissions.id) as value, tracking_sources.name as name"))
->groupBy('tracking_sources.name')
->orderBy('value', 'desc')
->get();
}
private function getReservationTrackingCodes()
{
return Reservations::where('user_id', request('user_id')
->leftJoin('tracking_codes', 'form_submissions.tracking_code_id', 'tracking_codes.id')
->select(DB::raw('count(tracking_codes.id) as value, tracking_codes.label as name'))
->groupBy('tracking_codes.label')
->orderBy('value', 'desc')
->take(10)
->get();
}
private function getReservationReferrers()
{
return Reservations::where('user_id', request('user_id')
->select(DB::raw("count(form_submissions.id) as value, form_submissions.referrer as name"))
->groupBy('form_submissions.referrer')
->orderBy('value', 'desc')
->take(10)
->get();
}
【问题讨论】: