web-dev-qa-db-fra.com

Appel à la méthode non définie Illuminate \ Database \ Query \ Builder :: notify ()

Problème dans Laravel 5.3.6 lors de la soumission de la demande dans Mot de passe oublié.

Détails de l'erreur

Appel à la méthode non définie Illuminate\Database\Query\Builder :: notify ()

Le problème est dans le fichier ci-dessous:

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

ligne 69. Le code est ci-dessous

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

Fonction: sendResetLink

Il fonctionnait bien dans Laravel 5.2 et ne semble pas fonctionner dans la version 5.3.6. Avez-vous rencontré ce problème?

25
Pankaj

Vous devez ajouter Illuminate\Notifications\Notifiable trait dans le modèle User.

56
Bestmomo Momo
  1. Ajoutez le trait Notifiable dans votre mode utilisateur.

    Illuminate\Notifications\Notifiable

  2. Ajoutez ceci dans votre app.php:

Pour vos prestataires:

Illuminate\Notifications\NotificationServiceProvider::class,

Dans les alias:

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

  1. N'oubliez pas de mettre à jour vos paramètres from dans le fichier config/mail.php.

Dans mon cas, j'obtenais toujours une erreur après avoir suivi les étapes données dans d'autres réponses.

BadMethodCallException: appel à la méthode non définie Illuminate\Database\Query\Builder :: notify ()

Je manquais

utiliser Notifiable

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