【问题标题】:Call to undefined method App\User::events()调用未定义的方法 App\User::events()
【发布时间】:2019-04-19 14:49:46
【问题描述】:

我正在尝试将数据存储到数据库中,但我得到的错误是:

调用未定义的方法 App\User::events()

public function store(Request $request)
    {
        $this->validate($request, [
            'title' => 'required',
            'slug'  => 'required|unique:events',
            'body'  => 'required',
            'date'  => 'date_format:M-d-y H:i:s',
            'time'  => 'required'
        ]);

        $request->user()->events()->create($request->all());

        return redirect('/backend/blog')->with('message', 'Your event was created successfully');
    }

【问题讨论】:

    标签: laravel


    【解决方案1】:

    试试这个:

    public function store(Request $request)
    {
        $this->validate($request, [
            'title' => 'required',
            'slug'  => 'required|unique:events',
            'body'  => 'required',
            'date'  => 'date_format:M-d-y H:i:s',
            'time'  => 'required'
        ]);
    
        $user = User::create($request->all()); // create the user
        event(new UserRegistered($user)); // Add your own event class name.
    
        return redirect('/backend/blog')->with('message', 'Your event was created successfully');
    }
    

    注意:假设您已经创建了UserRegistered 事件。并通过event helper 方法调用它。

    【讨论】:

    • 如果我想在此代码中添加 user_id,请告诉我该怎么做
    【解决方案2】:

    您的User 模型中似乎没有任何events() 关系。
    假设你有Event 模型,你可以像User 模型这样写:

    public function events()
    {
      return $this->hasMany(Event::class);
    }
    

    【讨论】:

      猜你喜欢
      • 2020-02-02
      • 1970-01-01
      • 2022-12-09
      • 2021-06-21
      • 2020-01-18
      • 1970-01-01
      • 2023-02-06
      • 2021-03-19
      • 2021-06-24
      相关资源
      最近更新 更多