Ich erstelle eine neue Anwendung, auf der, wenn ein Artikel erstellt wird, eine Benachrichtigung angezeigt wird. Ich habe versucht, Ereignisse und Listener zu verwenden.
Mein App\Article.php
...
protected $events = [
'created' => Events\ArticleWasPublished::class
];
...
Mein App\Providers\EventServiceProvider.php
protected $listen = [
'App\Events\ArticleWasPublished' => [
'App\Listeners\NotifyUsers',
],
];
Mein App\Events\ArticleWasPublished.php
...
use App\Article;
...
{
public $article;
public function __construct(Article $article)
{
$this->article = $article;
}
...
Mein App\Listeners\NotifyUsers.php
use App\Notification;
...
public function handle(ArticleWasPublished $event)
{
Notification::create([
'article_id' => $event->article->id,
'message' => 'A new Article was created'
]);
var_dump('Something');
}
Was mache ich hier falsch?
Mein Problem ist, wenn ein neuer Artikel erstellt wird, wird eine neue Benachrichtigung nicht erstellt. Ich bekomme nicht einmal irgendwelche Fehler.
Ja, ich benutze Laravel 5.5. Danke für die Antwort. Es hat mir geholfen :) . Ich habe diese Methode in der Laravel-Event-Dokumentation gesucht und dort konnte ich keine finden, es gab nur die Möglichkeit, manuell zuzuhören. – Advaith