代码之家  ›  专栏  ›  技术社区  ›  robspin

拉维勒回声监听插座?不是变量?

  •  0
  • robspin  · 技术社区  · 6 年前

       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\号.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]);
        }
    

    我从Events 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
    

    我不知道为什么消息和序列号是正确的,但是其他的像city和p\u id是空的,没有定义?

    对象键是message,s\u number,socket

    为什么要显示“socket”这个关键词?

    如何解决这个问题以获得这两个变量$city和$p\u id?

    1 回复  |  直到 6 年前
        1
  •  0
  •   robspin    6 年前

    我找到了愚蠢的答案 无论何时更改代码 1.laravel-echo-server启动 2.2技工queue:work

    一切都很好~