web-dev-qa-db-ja.com

未定義のメソッドIlluminate \ Database \ Query \ Builder :: notify()の呼び出し

パスワードを忘れた場合にリクエストを送信するとLaravel 5.3.6で問題が発生します。

エラーの詳細

未定義のメソッドIlluminate\Database\Query\Builder :: notify()の呼び出し

問題は以下のファイルにあります:

vendor\laravel\framework\src\Illuminate\Auth\Passwords\PasswordBroker.php

行69。コードは以下

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

関数:sendResetLink

Laravel 5.2では正常に機能していましたが、5.3.6バージョンでは機能していないようです。この問題に直面しましたか?

25
Pankaj

UserモデルにIlluminate\Notifications\Notifiable特性を追加する必要があります。

56
Bestmomo Momo
  1. ユーザーモードでNotifiableトレイトを追加します。

    Illuminate\Notifications\Notifiable

  2. これをapp.phpに追加します。

プロバイダーの場合:

Illuminate\Notifications\NotificationServiceProvider::class,

エイリアス内:

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

  1. 必ずfromconfig/mail.phpファイルの設定を更新してください。

私の場合、他の回答に記載されている手順に従ってもエラーが発生していました。

BadMethodCallException:未定義のメソッドIlluminate\Database\Query\Builder :: notify()の呼び出し

行方不明でした

notifiableを使用する

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