queue.blade.php
Echo.channel('everyone')
.listen('Queue_number', function (e) {
console.log('e='+e);
console.log('e keys='+Object.keys(e));
console.log('socket='+e.socket);
console.log('city='+e.city);
console.log('p_id='+e.p_id);
console.log('message='+e.message);
console.log('s_number='+e.s_number);
app / Events / Queue_number.php
class Queue_number implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public $message;
public $s_number;
public $city;
public $p_id;
public function __construct($message,$s_number,$city,$p_id)
{
$this->message = $message;
//$this->s_number = $s_number;
$this->s_number = '1234';
$this->city = '236';
$this->p_id = $p_id;
}
public function broadcastOn()
{
return new Channel('everyone');
}
контроллер
public function queue_add(Request $request)
{
$message = $request->validate(['message'=>'required']);
$s_number=$request->name;
$city=$request->city;
$p_id=$request->p_id;
broadcast(new Queue_number($message['message'],$s_number,$city,$p_id));
//->toOthers()
return response()->json(['status'=>'success','message'=>$message['message'],'s_number'=>$s_number,'city'=>$city,'p_id'=>$p_id]);
}
Я получил консоль от событийQueue_number.php
e=[object Object]
63:615 e keys=message,s_number,socket
63:616 socket=null
63:617 city=undefined
63:618 p_id=undefined
63:619 message=1
63:620 s_number=1234
Я не знаю, почему сообщение и s_number верны, но другие, такие как city и p_id, имеют значение null, не определено?
, а ключ объекта - message, s_number, socket
почему ключевое слово "socket" показывает ключевое слово?
как решить проблему, чтобы получить эти две переменные $ city и $ p_id?
, спасибо за любую помощь.