【发布时间】:2017-07-09 03:10:17
【问题描述】:
我需要通过 BroadcastOn() 函数获取频道名称的用户 ID?
我想做的是:
新活动:
event(new \App\Events\chat($message, $userid, $avatar, $username, $receiver, $msgid));
事件本身
public $message;
public $user;
public $avatar;
public $username;
public $receiver;
构造:
public function __construct($message, $user, $avatar,$username,$receiver,$msgid) {
$this->message = $message;
$this->user = $user;
$this->avatar = $avatar;
$this->username = $username;
$this->receiver = $receiver;
$this->msgid = $msgid;
}
广播:
public function broadcastOn() {
$user = \Auth::user()->id();
return new Channel($user);
}
如果我尝试 dd \Auth::user();它给了我null,我想这是通过身份验证在事件中无法识别用户。有没有办法以某种方式将用户传递给 broadcastOn() 以便我可以将其定义为频道名称?
【问题讨论】:
-
你是从命令行运行的吗>
-
不,从控制器运行它。
-
我的意思是,控制器是否从命令行运行?
-
不,它没有。它在发送消息和在线登录后由用户启动。如果我通过命令行启动它自然无法获得用户:)。