sales_volume = $ticket->sales_volume + $amount; return $ticket->save(); } /** * Update the amount of views a ticket has earned. * * @param $event_id * * @return bool */ public function updateViewCount($event_id) { $stats = $this->firstOrNew([ 'event_id' => $event_id, 'date' => DB::raw('CURRENT_DATE'), ]); $cookie_name = 'visitTrack_'.$event_id.'_'.date('dmy'); if (!Cookie::get($cookie_name)) { Cookie::queue($cookie_name, true, 60 * 24 * 14); ++$stats->unique_views; } ++$stats->views; return $stats->save(); } /** * @todo: Missing amount? * Updates the sales volume earned by an event. * */ public function updateSalesVolume($event_id) { $stats = $this->firstOrNew([ 'event_id' => $event_id, 'date' => DB::raw('CURRENT_DATE'), ]); $stats->sales_volume = $stats->sales_volume + $amount; return $stats->save(); } /** * Updates the number of tickets sold for the event. * * @param $event_id * @param $count * * @return bool */ public function updateTicketsSoldCount($event_id, $count) { $stats = $this->firstOrNew([ 'event_id' => $event_id, 'date' => DB::raw('CURRENT_DATE'), ]); $stats->increment('tickets_sold', $count); return $stats->save(); } }