I need an output that list page views in the last 30 days.
This is my structure.
CREATE TABLE `view_history` (
`page_id` int(11) NOT NULL,
`date` date NOT NULL,
`views` int(6) DEFAULT '0',
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`page_id`,`date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Controller:
$pageViews = ViewHistory::where('page_id',1)
->select('date','views')
->orderBy('date','DESC')
->take(30)
->get();
Blade:
@foreach($pageViews as $pageView)
date:
views: <br>
@endforeach
The output to the browser is:
date: 2020-05-02 views:10
date: 2020-04-30 views:7
date: 2020-04-26 views:2
date: 2020-04-23 views:12
date: 2020-04-22 views:12
date: 2020-04-21 views:12
date: 2020-04-16 views:6
date: 2020-04-14 views:11
date: 2020-04-12 views:11
date: 2020-04-11 views:1
date: 2020-04-09 views:7
date: 2020-04-07 views:12
date: 2020-04-06 views:6
date: 2020-04-05 views:10
date: 2020-04-04 views:3
date: 2020-04-03 views:6
When I dig into the database, I found that some date doesn't have any record in it at all. (Presume 0 views). How go I get all 0 views day to the output as well?
Thanks!
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire