Я делаю приложение чата в laravel, но оно не прослушивается на стороне клиента, но на консоли отладчика он показывает, что событие инициируется данными.Может ли кто-нибудь помочь мне
Все, что указано в stackoverflow
Событие NewChat
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
use App\Chat;
class NewChat implements ShouldBroadcastNow
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $chat;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(Chat $chat)
{
$this->chat = $chat;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new PrivateChannel('Chat.'. $this->chat->sender_id .'.'. $this->chat->reciever_id);
}
}
ChatController.php
{
$newMessage = new Chat;
$newMessage->sender_id = $request->sender_id;
$newMessage->reciever_id = $request->reciever_id;
$newMessage->message = $request->message;
$newMessage->save();
broadcast(new NewChat($newMessage));
return $newMessage->toJson();
}
ChatComposer.vue
console.log(this.followerid + 'and' + this.userid)
Echo.private('Chat.'+ this.follow + '.' + this.user)
.listen('NewChat', (chat) => {
console.log('h');
this.chats.unshift(data);
});
console.log('Composer')
}