错误“尝试访问类型为 null 的值的数组偏移量”laravel 5.8.26 Php 7.4.2

Lar*_*ell 12 php laravel laravel-5

我使用以下功能从管理面板插入/创建新用户:

public function store(Request $request)
{
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required|email|unique:users,email',
        'password' => 'required|same:confirm-password'
    ]);


    $input = $request->all();
    $input['password'] = Hash::make($input['password']);


    User::create($input);

    return redirect()->route('admin.pages.users.index')
        ->with('success','User created successfully');
}
Run Code Online (Sandbox Code Playgroud)

当我提交时,我收到如下错误:-

尝试访问类型为 null 的值的数组偏移量

编辑:我发现了我的问题。我的问题是电子邮件验证规则。当我删除电子邮件验证插入数据是真的。

在此处输入图片说明

我该如何解决这个错误!

小智 21

将 Composer.json 中的您的 PHP 版本更改为 7.4.1 并运行

composer update
Run Code Online (Sandbox Code Playgroud)

这对我有用


Lig*_*iga 7

In line 147 of this file vendor\egulias\email-validator\EmailValidator\Parser\Parser.php

从此改变if ($previous['type'] === EmailLexer::S_BACKSLASH

对此if (isset($previous['type']) && $previous['type'] === EmailLexer::S_BACKSLASH ...

  • 永远不要直接修改供应商包,通过 Composer 更新进行的后续更新可能会覆盖您所做的任何更改。 (8认同)

A.A*_*man 6

我在使用 laravel 5.8.* 版和 php 7.4 版时遇到了同样的问题。我已经解决了这个问题更新作曲家。我只是在终端中使用这个命令

composer update
Run Code Online (Sandbox Code Playgroud)

或者

php composer.phar update
Run Code Online (Sandbox Code Playgroud)

并轻松解决了我的问题。