Laravel говорит мне неопределенный индекс, но дд говорит, что он там

Начал новый проект Laravel 5.2 и реализовал аутентификацию по умолчанию, которая идет с ним. Я хотел изменить это так, чтобы форма регистрации имела поле для имени и фамилии, а не просто "имя". Я добавил поля в представлении, проверке и модели. Когда я тестирую, я получаю следующее:

Строка 71 находится в следующем блоке кода для фамилии или "lname".

 protected function create(array $data)
    {
        return User::create([
            'fname' => $data['fname'],
            'lname' => $data['lname '],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

Когда я добавляю dd в массиве данных прямо перед return/create как это:

 protected function create(array $data)
    {
        dd($data);
        return User::create([
            'fname' => $data['fname'],
            'lname' => $data['lname '],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
    }

Я получаю это:

Мы можем ясно видеть, что lname фактически присутствует в этом массиве и не должен быть неопределенным индексом. В чем дело?

1 ответ

Изменить это

'lname' => $data['lname '],

к этому

'lname' => $data['lname'], # additional space within the key

Во второй строке проверки ошибок вы можете увидеть 'lname '

Другие вопросы по тегам