Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Call to undefined method Illuminate\Database\Query\Builder::notify()

Issue in Laravel 5.3.6 when submitted request in Forgot Password.

Error Details

Call to undefined method Illuminate\Database\Query\Builder::notify()

Issue is in below file:

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

Line 69. Code is below

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

Function: sendResetLink

It was working fine in Laravel 5.2 and seems not working in 5.3.6 version. Have you faced this issue?

like image 436
Pankaj Avatar asked Sep 05 '16 21:09

Pankaj


3 Answers

You must add Illuminate\Notifications\Notifiable trait in User model.

like image 82
Bestmomo Momo Avatar answered Nov 05 '22 03:11

Bestmomo Momo


  1. Add the Notifiable trait in your User mode.

    Illuminate\Notifications\Notifiable

  2. Add this in your app.php:

For your providers:

Illuminate\Notifications\NotificationServiceProvider::class,

In the aliases:

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

  1. Remember to update your from settings in the config/mail.php file.
like image 45
Francisco Corrales Morales Avatar answered Nov 05 '22 03:11

Francisco Corrales Morales


In my case, I was still getting error after following steps given in other answers.

BadMethodCallException: Call to undefined method Illuminate\Database\Query\Builder::notify()

I was missing

use Notifiable

...
use Illuminate\Notifications\Notifiable;
class User extends Model
{
     use SoftDeletes, Notifiable;
     ...
like image 11
Nijesh Hirpara Avatar answered Nov 05 '22 05:11

Nijesh Hirpara