方法 App\Http\Controllers\VerifyController::update

我是 Laravel 的新手,我所做的是创建一个用户,然后发送一个链接验证。我创建了一个 VerifyController 来执行此操作,其中包括以下代码:


<?php


namespace App\Http\Controllers;


use App\User;

use Illuminate\Http\Request;

use App\Http\Controllers;


    class VerifyController extends Controller

    {

        /**

         * verify the user with a given token

         * 

         * 

         * @param string $token

         * 

         * @return Response

         */

        public function verify($token)

        {

            User::where('token', $token)->firstOrFail();


                $this->update(['token' => null]); //verify the user;



                $this->route('home');

                $this->with('success', 'Account verifed');


        }

    }

因此,当您收到验证电子邮件时,您按下按钮,以便确认用户,但代码不接受更新。我想知道是否缺少图书馆或其他东西。

我希望我的问题已经清楚了。

我正在使用 Laravel Framework 7.1.3,这个项目的想法是由 5.5 版本的 Laravel Framework 版本组成的。

我尝试使用 update(['token' => null]); //验证用户;没有 $this 但什么也没有,还有 ->update(['token' => null]); //验证用户;


交互式爱情
浏览 58回答 1
1回答

隔江千里

您应该首先将查询的用户分配给一个变量,然后像这样对该变量调用更新;class VerifyController extends Controller{&nbsp; &nbsp; /**&nbsp; &nbsp; &nbsp;* verify the user with a given token&nbsp; &nbsp; &nbsp;*&nbsp;&nbsp; &nbsp; &nbsp;*&nbsp;&nbsp; &nbsp; &nbsp;* @param string $token&nbsp; &nbsp; &nbsp;*&nbsp;&nbsp; &nbsp; &nbsp;* @return Response&nbsp; &nbsp; &nbsp;*/&nbsp; &nbsp; public function verify($token)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; $user = User::where('token', $token)->firstOrFail();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $user->update(['token' => null]); //verify the user;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this->route('home');&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $this->with('success', 'Account verifed');&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP