前提・実現したいこと
broadcastOnメソッド内で$this->プロパティ名
を使いたいです。
発生している問題・エラーメッセージ
ブロードキャスト機能について学習しているのですが、broadcastOnメソッド内で$this->プロパティ名
がundefind
となってしまいます。
Undefined property: App\Events\MessageAdded::$item
該当のソースコード
php
1<?php 2 3namespace App\Events; 4 5use Illuminate\Broadcasting\Channel; 6use Illuminate\Broadcasting\InteractsWithSockets; 7use Illuminate\Broadcasting\PresenceChannel; 8use Illuminate\Broadcasting\PrivateChannel; 9use Illuminate\Contracts\Broadcasting\ShouldBroadcast; 10use Illuminate\Foundation\Events\Dispatchable; 11use Illuminate\Queue\SerializesModels; 12 13class MessageAdded implements ShouldBroadcast 14{ 15 use Dispatchable, InteractsWithSockets, SerializesModels; 16 17 public function __construct() 18 { 19 $this->item = ['id'=>1, 'itemName'=>'tomato']; //コンストラクタで$this->itemを定義 20 } 21 22 public function broadcastOn() 23 { 24 25 return new Channel('message-add-channel', $this->item); //$this->itemがundefindとなってしまう 26 } 27} 28
試したこと
・コンストラクタ内でdd($this->item)
としたところ、配列の情報が表示されました。
・broadcastOnメソッド内でdd($this)
としたところ、何も入っていない?状態でした。
・broadcastOnメソッド内でdd($this->item)
としてみても、Undefined property: App\Events\MessageAdded::$item
となってエラーになりました。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。