public function store(Request $request) { $this->validate($request, ['title' => 'required|unique:units|max:100']); $input = $request->all(); $group = UnitGroups::findOrFail($input['group_id']); if (array_key_exists('default', $input)) { DB::table('units')->where(['default' => 1, 'group_id' => $input['group_id']])->update(['default' => 0]); $input['default'] = 1; Units::create($input); Helper::add(DB::getPdo()->lastInsertId(), 'added new unit ' . $input['title'] . ' (ID ' . DB::getPdo()->lastInsertId() . ')'); Helper::add(DB::getPdo()->lastInsertId(), 'changed default unit to ' . $input['title'] . ' (ID ' . DB::getPdo()->lastInsertId() . ') in group ' . $group->title . ' (ID ' . $group->id . ')'); Units::where(['group_id' => $input['group_id']])->update(['factor' => DB::raw('factor/' . $input['factor'])]); } else { Units::create($input); Helper::add(DB::getPdo()->lastInsertId(), 'added new unit ' . $input['title'] . ' (ID ' . DB::getPdo()->lastInsertId() . ')'); } Session::flash('flash_message', $this->title . ' successfully added!'); return Redirect::action('UnitsController@index'); }