public function getPointsAttribute() { $id = $this->attributes['id']; return Cache::remember("user_{$id}_points", 3, function () use($id) { $marketActions = Log::with('market')->whereFlag(true)->where('user_id', $id)->get()->sum('market.reward'); $otherActions = Log::where('user_id', $id)->whereFlag(true)->whereNull('market_item_id')->get()->sum('reward'); $reduced = $this->reduced->select('market.reward')->sum('market.reward'); return $marketActions + $otherActions - $reduced; }); }
public function postListGridData(Request $req, $db = 'bidang') { /* paging biasa ====================================== select * from `dokumen` limit 0,10 */ // if ($req->get('page')) { // if ($req->get('page')==1) { // $offset=$req->get('page')-1; // } // else{ // $offset=($req->get('page')-1)*$req->get('rows'); // } // $data->skip($offset); // } // if ($req->get('rows')) { // $data->take($req->get('rows')); // } // if ($req->get('sort') && $req->get('order')) { // $data->orderBy($req->get('sort'), $req->get('order')); // } // $datax['rows']=$this->show_relasi_kolom($data->get()); // $total['total'] = \DB::table('dokumen')->count(); /** ,=== snippet =============================================================================== */ $offset = 1; if ($req->get('page')) { if ($req->get('page') == 1) { $offset = $req->get('page') - 1; } else { $offset = ($req->get('page') - 1) * $req->get('rows'); } } $rows = 10; if ($req->get('rows')) { $rows = $req->get('rows'); } // $log = Log::where('table','=',$db)->skip($page)->take($rows)->paginate(); $log = Log::with('users', 'groups')->where('table', $db)->skip($offset)->take($rows)->paginate(); // dd($rows); // dd($log->toArray()); $newdata = []; $i = 0; foreach ($log->toArray()['data'] as $data) { $newdata[$i] = $data; $newdata[$i]['users_email'] = $data['users']['email']; $newdata[$i]['groups_name'] = $data['groups']['name']; $i++; } // $result['total']=$log->toArray()['total']; $result['total'] = count($log->toArray()['data']); // $result['rows']=$log->toArray()['data']; $result['rows'] = $newdata; return json_encode($result); }