Laravel 5

Erreur avec les notifications et stockage en base de données

  • Avatar de jeanpaulndiaye
    Membre depuis :
    12/11/2018
    Messages :
    6

    Bonjour,

    Voila je rencontre un petit problème avec les notifications laravel la partie stockage en base de données

    Ce que je fais

    j'ai une classe pour la notification qui est la suivante

    class InviteProviderNotify extends Notification
    {
    use Queueable;

    private $tender;

    /
    Create a new notification instance.

    @return void
    /
    public function __construct(Tender $tender)
    {
    //
    $this->tender = $tender;
    }

    /

    Get the notification's delivery channels.

    @param mixed $notifiable
    @return array
    */
    public function via($notifiable)
    {
    return ['mail','database'];
    }

    /*
    Get the mail representation of the notification.

    @param mixed $notifiable
    @return \Illuminate\Notifications\Messages\MailMessage
    /
    public function toMail($notifiable)
    {

    return (new MailMessage)
    ->success()
    ->subject(("Nouvelle demande de devis"))
    ->line(
    ("Vous êtes invité à répondre à la demande de devis."))
    ->line('Titre de la demande : ' . $this->tender->name)
    ->action("Voir la demande", url('/'))
    ->line("Merci d'utiliser Sourcing Hub!");
    }

    /*
    Get the array representation of the notification.

    @param mixed $notifiable
    @return array
    /
    public function toArray($notifiable)
    {
    return [
    //
    'id' => $this->tender->id,
    'name' => $this->tender->name
    ];
    }
    }

    Ce que je veux

    et dans mon controller je fais appel à cette classe de la maniere suivante

    $users = ProviderTender::where('tender_id',$tender->id)->get();
    Notification::route('mail', $users)->notify(new InviteProviderNotify($tender));

    Ce que j'obtiens

    mais j'ai ce jolie message d'erreur à la place

    Symfony\Component\Debug\Exception\FatalThrowableError thrown with message "Call to a member function create() on null"

    Stacktrace:
    #0 Symfony\Component\Debug\Exception\FatalThrowableError in C:\xampp\htdocs\laracarte\vendor\laravel\framework\src\Illuminate\Notifications\Channels\DatabaseChannel.php:19
  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2439

    Salut,

    Je ne comprends pas cette ligne de code :

    Notification::route('mail', $users)->notify(new InviteProviderNotify($tender));

    Habituellement on utilise la méthode notify sur un user...

  • Avatar de jeanpaulndiaye
    Membre depuis :
    12/11/2018
    Messages :
    6

    Salut oui j'avais fait $users->notify(new InviteProviderNotify($tender)) mais il me sort une erreur de du genre notify routing et j'ai regardé sur la doc cette ligne de code Notification::route('mail', $users)->notify(new InviteProviderNotify($tender));

  • Avatar de jeanpaulndiaye
    Membre depuis :
    12/11/2018
    Messages :
    6

    voilà l'erreur que j'ai quand jutilise Notification:send($uers,NewPost($post))

    Method Illuminate\Database\Query\Builder::routeNotificationFor does not exist.

Vous ne pouvez pas répondre à ce sujet.