2017-09-24 17 views
4

リアルタイムの通知を作成中で、この奇妙なエラーが発生しました。私のモデルでは、SendNotificationData(リスナーなし)と呼ばれるイベントをトリガーするブート方法があります。新しい通知が行われたときに処理されます。Laravel - 404エラーの原因となるイベント

裁判コントローラ

<?php 

namespace App\Http\Controllers\Notification; 

use App\Http\Controllers\Controller; 
use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Models\Notification; 

class NotificationController extends Controller 
{ 
    /** 
    * Trigger event to display notifications. This displays 404 error page 
    * 
    * @return none 
    */ 
    public function displayNotification() 
    { 
     $notification = new Notification(); 
     $notification->EmployeeID = "EMP-00001"; 
     $notification->NotificationText = "There is a new notification"; 
     $notification->NotificationStatus = "unread"; 
     $notification->NotificationType = "trial"; 
     $notification->save(); 
    } 
} 

通知モデルの起動方法:Javascript

namespace App\Events; 

use App\Events\Event; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Contracts\Broadcasting\ShouldBroadcast; 

class SendNotificationData extends Event implements ShouldBroadcast 
{ 
    use SerializesModels; 

    public $new_notification_data; 

    /** 
    * Create a new event instance. 
    * 
    * @param $notification_data 
    * @return void 
    */ 
    public function __construct($new_notification_data) 
    { 
     $this->new_notification_data = $new_notification_data; 
    } 

    /** 
    * Get the channels the event should be broadcast on. 
    * 
    * @return array 
    */ 
    public function broadcastOn() 
    { 
     return ['new-notification']; 
    } 

    /** 
    * Customize event name. 
    * 
    * @return array 
    */ 
    public function broadcastAs() 
    { 
     return 'private-send-new-notification'; 
    } 
} 

/** 
* Handle booting of model. 
* 
* @var string 
*/ 
public static function boot() 
{ 
    static::created(function ($data) { 
     event(new SendNotificationData($data)); 
    }); 

    parent::boot(); 
} 

これは私のSendNotificationDataイベントです

ここで、コントローラでランダムな通知を追加しようとすると、イベントが発生します。しかし、404エラーページが表示されます。 ShouldBroadcastインターフェイスを削除したり、コンストラクタの内容を削除したりすると、エラーが表示されなくなりました。他のイベントがうまくいけば、このようなエラーの原因となるものは混乱しています。私は何かを逃したかもしれないので、私を案内してください。

+0

コントローラコードも入力できますか? – apokryfos

+0

トライアルコントローラコードを追加しました。 –

+0

実際にそのコントローラのアクションにアクセスするためにルートが適切に設定されていますか? (関数内の 'dd(something)'はヒットしているかどうかを伝えることができます)。また、チャンネルで聞くために使用するJSを共有できますか? – apokryfos

答えて

1

私はそれがtrueの代わりにfalseに設定されているモデルの$incrementing変数によって引き起こされたと信じられません。 laravelだけが適切なエラースタックトレースを表示する場合。

関連する問題