protected static $fillableAttributes = array( 'email' => array('registration', 'my_account', 'admin_edit'), 'role' => array('admin_edit'), 'first_name' => array('registration', 'my_account', 'admin_edit'), 'last_name' => array('registration', 'my_account', 'admin_edit'), 'company' => array('registration', 'my_account', 'admin_edit'), 'address' => array('registration', 'my_account', 'admin_edit'), 'address2' => array('registration', 'my_account', 'admin_edit'), 'city' => array('registration', 'my_account', 'admin_edit'), 'state' => array('registration', 'my_account', 'admin_edit'), 'zip' => array('registration', 'my_account', 'admin_edit'), 'phone' => array('registration', 'my_account', 'admin_edit'), 'approved' => array('admin_edit'), ); public static function getFillableAttributes($context) { $fillableAttributes = array(); foreach (self::$fillableAttributes as $attr => $attrContexts) { if (in_array($context, $attrContexts)) { $fillableAttributes[] = $attr; } } return $fillableAttributes; } /* =============================================== */ $user = $id == 'new' ? new User : User::find($id); $validator = Validator::make( Input::all(), $this->validationRules( $id ) ); if ( $validator->passes() ) { $user->fill(Input::only(User::getFillableAttributes('admin_edit'))); $user->save(); }