use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class NewOrderNotification implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $order;
public function __construct($order)
{
$this-order = $order;
}
public function broadcastOn()
{
return new PrivateChannel('orders.' 、$this-order-user_id);
}
public function broadcastAs()
{
return 'new.order';
}
public function broadcastWith()
{
return [
'order_id' = $this-order-id,
'total' = $this-order-total,
'created_at' = $this-order-created_at-toDateTimeString(),
];
}
}