Laravel告诉我未定义的索引,但dd说它在那里

时间:2018-01-10 17:08:04

标签: php laravel-5 illuminate-container

启动了一个新的Laravel 5.2项目并实现了它附带的默认身份验证。我想修改它,以便注册表单有一个名字和姓氏的字段,而不仅仅是'name'。我在视图,验证和模型中添加了字段。当我测试时,我得到以下内容:enter image description here

第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']),
        ]);
    }

我明白了: enter image description here

我们可以清楚地看到lname实际上存在于该数组中,不应该是未定义的索引。发生了什么事?

1 个答案:

答案 0 :(得分:5)

更改此

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

到这个

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

在错误检查第二行中,您可以看到'lname '