/** * Run the database seeds. * * Create five Levels in order to start your Gamify app * * @return void */ public function run() { DB::table('levels')->delete(); foreach (range(0, 4) as $index) { \Gamify\Level::create(['name' => 'Level ' . $index, 'amount_needed' => $index * 10]); } }
/** * Return the next Level (object) for this user. * * @return Level */ public function getNextLevel() { $experience = $this->getExperiencePoints(); return Level::where('amount_needed', '>', $experience)->orderBy('amount_needed')->first(); }
/** * Show a list of all the levels formatted for Datatables. * * @param Request $request * @param Datatables $dataTable * * @return Datatables JsonResponse */ public function data(Request $request, Datatables $dataTable) { // Disable this query if isn't AJAX if (!$request->ajax()) { abort(400); } $levels = Level::select(['id', 'name', 'amount_needed', 'active'])->orderBy('amount_needed', 'ASC'); return $dataTable::of($levels)->addColumn('image', function (Level $level) { $level = Level::find($level->id); return '<img src="' . $level->image->url('small') . '" width="64" class="img-thumbnail" />'; })->editColumn('active', function (Level $level) { return $level->active ? trans('general.yes') : trans('general.no'); })->addColumn('actions', function (Level $level) { return view('admin/partials.actions_dd', ['model' => 'levels', 'id' => $level->id])->render(); })->removeColumn('id')->make(true); return View::make()->render(); }