Laravel 5.4密码重置的问题 - 发送电子邮件



laravel 5.4密码重置问题 - 发送电子邮件

经过几个小时的研究,我不知道如何修复这个相当标准的 laravel 5.4 实现。 我添加了一个多身份验证系统,但我认为这对正在执行的代码没有影响。 我正在运行发送电子邮件的邮政路线... 但在那之后,我迷失在跟踪代码的过程中。 下面,请找到生成的错误以及其他相关代码。 我不确定错误是否在用户模型中,但肯定是。 谢谢你的帮助!!

BadMethodCallException in Builder.php line 2443:Call to undefined method IlluminateDatabaseQueryBuilder::notify()
1.  in Builder.php line 2443
2.  at Builder->__call('notify', array(object(ResetPassword))) in Builder.php line 1245
3.  at Builder->__call('notify', array(object(ResetPassword))) in Model.php line 1329
4.  at Model->__call('notify', array(object(ResetPassword))) in CanResetPassword.php line 27
5.  at User->sendPasswordResetNotification('c85443ddc950e30338975234e3ffcd10409efc8c43741e368b3f066398734fd5') in PasswordBroker.php line 70
6.  at PasswordBroker->sendResetLink(array('email' => xxx@yahoo.com')) in SendsPasswordResetEmails.php line 33
7.  at ForgotPasswordController->sendResetLinkEmail(object(Request))
8.  at call_user_func_array(array(object(ForgotPasswordController), 'sendResetLinkEmail'), array('request' => object(Request))) in Controller.php line 55
9.  at Controller->callAction('sendResetLinkEmail', array('request' => object(Request))) in ControllerDispatcher.php line 44
10. at ControllerDispatcher->dispatch(object(Route), object(ForgotPasswordController), 'sendResetLinkEmail') in Route.php line 203
11. at Route->runController() in Route.php line 160
12. at Route->run() in Router.php line 559

namespace AppHttpControllersAuth;
use AppHttpControllersController;
use IlluminateFoundationAuthSendsPasswordResetEmails;
use AppUser;
class ForgotPasswordController extends Controller
{
use SendsPasswordResetEmails;
public function __construct()    {        $this->middleware('guest');    }
}

<?php
namespace App;
use IlluminateNotificationsNotifiable;
use IlluminateFoundationAuthUser as Authenticatable;
use IlluminateContractsAuthCanResetPassword; // DOES THIS NEED TO BE REFERENCED SOMEPLACE ELSE?
class User extends Authenticatable
{
use Notifiable;

我能够回答我自己的问题。 好吧,下面的链接没有产生相同的错误,结果是相同的。 我创建了另一个控制器并调用了在忘记密码控制器中调用的相同过程,一切都无缝运行。

拉拉维尔 5.4 密码重置

use Appuser;
use IlluminateFoundationAuthSendsPasswordResetEmails;
class guestController extends Controller
{
public function __construct()   {        $this->middleware('guest');    }
use SendsPasswordResetEmails;
public function sendPasswordEmail(request $request)
{
$a=user::where('email',Request('email'))->first();
if(count($a)>0){
$this->sendResetLinkEmail($request);
return redirect('password/emailThankyou');
} else {
return redirect()->back();
}
}

最新更新