是什么原因导致此 Laravel 8 应用程序中的成功确认消息失败?

What causes the failure of a success confirmation message in this Laravel 8 application?

我正在使用Laravel 8开发一个应用程序。

我使用以下方法添加新用户到 users table:

public function insert() {

    //Check if user already exists
    $user = User::where('email', '=', session('userEmail'))->first();

    if (!$user) {
        return User::create([
            'first_name' => session('firstName'),
            'last_name' => session('lastName'),
            'email' => session('userEmail'),
            'role_id' => 1
        ]);
    }
    else {
        return redirect('/users')->with('error', 'User aleady exists!);
    }
} 

问题:

我想添加一条“用户创建成功”的成功确认信息。为此,我做了:

if (!$user) {
    return User::create([
        'first_name' => session('firstName'),
        'last_name' => session('lastName'),
        'email' => session('userEmail'),
        'role_id' => 1
    ])->with('success', 'User created successfully');
}

由于我无法找到的原因,这失败了。带有此消息:

Argument 1 passed to Symfony\Component\HttpFoundation\Response::setContent() must be of the type string or null, object given, called in

我做错了什么?

问题是您返回的是用户对象而不是响应。

试试这个:

if (!$user) {
        User::create([
            'first_name' => session('firstName'),
            'last_name' => session('lastName'),
            'email' => session('userEmail'),
            'role_id' => 1
        ]);
        return redirect('/users')->with('success', 'User created successfully');
}