Вызов метода undefined Illuminate\Database\Query\Builder:: notify()

Проблема в Laravel 5.3.6 при отправке запроса в "Забыл пароль".

Сведения об ошибке

Вызов метода undefined Illuminate\Database\Query\Builder:: notify()

Проблема находится в файле ниже:

поставщика\Laravel\рамки\SRC\Осветите\Auth\Пароли\PasswordBroker.php

Строка 69. Код ниже

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

Функция: sendResetLink

Он отлично работал в Laravel 5.2 и, похоже, не работает в версии 5.3.6. Вы столкнулись с этой проблемой?

Ответы

Ответ 1

Вы должны добавить черту Illuminate\Notifications\Notifiable в User.

Ответ 2

  • Добавьте искомый признак в свой пользовательский режим.

    Illuminate\Notifications\Notifiable

  • Добавьте это в свой app.php:

Для ваших поставщиков:

Illuminate\Notifications\NotificationServiceProvider::class,

В псевдонимах:

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

  1. Не забудьте обновить свои настройки в файле config/mail.php.

Ответ 3

В моем случае я все еще получал ошибку после следующих шагов, приведенных в других ответах.

BadMethodCallException: вызов метода undefinedОсветить\Database\Query\Builder:: Notify()

Мне не хватало

Использовать Уведомляемый

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