调用未定义的方法Illuminate \ Database \ Query \ Builder :: notify()

时间:2016-09-05 21:36:41

标签: php laravel-5.2 laravel-5.1 laravel-5.3

在Forgot Password中提交请求时, Laravel 5.3.6 中的问题。

错误详情

  

调用未定义的方法Illuminate \ Database \ Query \ Builder :: notify()

问题出现在以下文件中:

  

供应商\ laravel \框架\ SRC \照亮\验证\密码\ PasswordBroker.php

第69行。代码在

之下
$user->sendPasswordResetNotification(
    $this->tokens->create($user)
);

功能:sendResetLink

Laravel 5.2 中运行良好,似乎无法在 5.3.6 版本中运行。你有没有遇到这个问题?

4 个答案:

答案 0 :(得分:55)

您必须在Illuminate\Notifications\Notifiable模型中添加User特征。

答案 1 :(得分:10)

在用户模式下添加Notifiable trait。 照亮\通知\法定 在你的app.php中添加: 对于您的提供商: 照亮\通知\ NotificationServiceProvider ::类, 在别名中: '通知'=>照亮的\ Support \外立面\通知::类, 请记住在config / mail.php文件中更新您的设置。

答案 2 :(得分:9)

就我而言,在按照其他答案中给出的步骤后,我仍然会收到错误。

  

BadMethodCallException:调用未定义的方法   照亮\数据库\查询\生成器::通知()

我不见了

  

使用须通知的

...
use Illuminate\Notifications\Notifiable;
class User extends Model
{
     use SoftDeletes, Notifiable;
     ...

答案 3 :(得分:0)

要清楚,您必须执行以下所有操作:

在您的用户模式中添加 Notifiable trait。

use Illuminate\Notifications\Notifiable;

class User extends Model
{
     use SoftDeletes, Notifiable;

在您的 app.php 中添加:

对于您的提供商:

Illuminate\Notifications\NotificationServiceProvider::class,

在别名中:

'Notification' => Illuminate\Support\Facades\Notification::class,

感谢 Nijesh、Francisco 和 Bestmomo Momo 提供的部分答案,但我必须完成上述所有工作。