【问题标题】:Getting error while trying to return stored value with notification in Laravel尝试在 Laravel 中通过通知返回存储值时出错
【发布时间】:2018-02-09 05:37:21
【问题描述】:

我收到这个错误

传递给 Illuminate\Auth\SessionGuard::login() 的参数 1 必须 实现接口 Illuminate\Contracts\Auth\Authenticatable, null 给定的,调用的 C:\wamp\www\trstbillingapp\vendor\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php 在第 35 行并定义

尝试使用此方法存储数据时:

protected function create(array $data)
    {
        $user = User::create([
            'name' => $data['name'],
        ]);
        return $user->notify(new UserRegister($data));
    }

如果我在没有通知的情况下存储数据,它会起作用:

protected function create(array $data)
    {
        $user = User::create([
            'name' => $data['name'],
        ]);
        return $user;
    }

请建议我另一种传递通知的方法。我正在使用 Laravel 5.4。

【问题讨论】:

  • 你能发布你的 UserRegister 课程吗?
  • 其实用户注册类没有什么。只是公共函数 via($notifiable) { return ['database']; } 和公共函数 toArray($notifiable) { return [ 'userRegister' => date('Y-m-d') ]; }
  • 我的 UserRegister 类正在工作,正如我从数据库中看到的那样。即使我收到错误,所有数据也会保存。我认为尝试传递通知会产生身份验证问题。
  • @Ahsan 请点击此链接(laravel.com/docs/5.4/notifications) 它对您的帮助

标签: php laravel laravel-5.4


【解决方案1】:

找到解决办法:

protected function create(array $data)
    {
        $user = User::create([
            'name' => $data['name'],
        ]);
        $user->notify(new UserRegister($data));
        return $user;
    }

【讨论】:

    猜你喜欢
    • 2020-06-17
    • 2013-03-14
    • 2021-07-22
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 2020-10-16
    • 2013-08-16
    相关资源
    最近更新 更多