Сохранение значения html выберите опцию в базе данных с помощью контроллера Laravel - PullRequest
1 голос
/ 20 февраля 2020

В настоящее время я работаю над проектом Laravel, и мне нужно сохранить содержимое данных, полученных при регистрации пользователя, в таблице с именем users.i мне удалось правильно сохранить в таблице другие значения, кроме значения html выберите параметры.

Ниже моя html форма:

<div class="form-group">
   <label for="User_type" class="col-md-4 col-form-label text-md-right">{{ __('Select User type'
   </label>
   <div class="col-md-6">
      <select class="form-input" name="signup_type">
          <option value="single_user">single_user</option>
          <option value="multi_user">multi_user</option>    
      </select>
    </div>
</div>

, а вот мой laravel контроллер для добавления необходимых значений в базу данных:

protected function validator(array $data)
{
   return Validator::make(
   $data, ['user_name' => ['required', 'string', 'max:32', 'unique:users'],
   'name' => ['required', 'string', 'max:100'],
   'mobile_phone' => ['required', 'string', 'max:15',           'unique:users'],
   'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
   'password' => ['required', 'string', 'min:8', 'confirmed'],
   'signup_type' => ['required','string','max:30'],]
    );
   }

    /**
     * Create a new user instance after a valid registration.
     *
     * @param  array  $data
     * @return \App\User
     */
protected function create(array $data)
  {
     if (substr($data['mobile_phone'], 0, 1) == 0) {
          $data['mobile_phone'] = substr(
          $data['mobile_phone'], 1, strlen($data['mobile_phone'])-1
          );
      }
      $data['mobile_phone'] = $data['dialingcode'].$data['mobile_phone'];
      return User::create(
        ['user_name' => $data['user_name'],
        'name' => $data['name'],
        'email' => $data['email'],
        'mobile_phone' => $data['mobile_phone'],
        'password' => Hash::make($data['password']),
        'signup_type' => $data['signup_type'],
        'role_id' => 1,]
      );  
}

но каждый раз, когда я проверяю значение signup_type в базе данных, оно всегда равно нулю.

1 Ответ

0 голосов
/ 20 февраля 2020

В модели User необходимо проверить массивы fillable и guarded, чтобы разрешить массовое присвоение также в этом поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...