makeConfig('$/tps/reklama/models/statistika/fields.yaml'); $this->pageTitle = 'Statistics'; $this->vars['stats'] = Statistika::groupBy('item_id') ->selectRaw('tps_reklama_item.id, tps_reklama_item.title, sum(view) as views, sum(click) as clicks') ->leftJoin('tps_reklama_item','tps_reklama_item.id','=','tps_reklama_statistika.item_id') ->take(20) ->get() ->toArray(); } public function onLoad(){ $item_id = input('item_id'); if($item_id){ $stats = Db::table('tps_reklama_statistika') ->select(Db::raw("item_id,sum(view) as v, sum(click) as c, extract(year from date) as y, extract(month from date) as m")) ->where('item_id',$item_id) ->whereNotNull('date') ->groupBy(Db::raw("item_id, extract(year from date), extract(month from date)")) ->orderBy('y') ->orderBy('m') ->get() ->toArray(); return [ 'result' => $stats ]; } } }