我正在尝试将 Pusher 与 Lumen 一起使用来将事件推送到客户端以刷新数据。我创建了非常简单的事件:
class CarEvent extends Event implements ShouldBroadcast{
use SerializesModels;
public $car;
private $type;
public function __construct( Car $car, $type )
{
$this->car = $car;
$this->type = $type;
}
public function broadcastOn()
{
return ['car'];
}
public function broadcastAs()
{
return $this->type;
}
}
我使用Event::fire(new CarEvent($car,"add"));
Inside Pusher 控制台成功地在我的控制器中触发它,我得到以下事件:
当我在删除记录时尝试发送事件时,我的问题就开始了,下面是我的代码:
public function deleteCar($id){
$car = $this->cars->findOrFail($id);
$car->delete();
$oldCar = new Car;
$oldCar->id=$id;
Event::fire(new CarEvent($oldCar,"delete"));
return Response::deleted();
}
这总是给出,ModelNotFoundException
因为具有给定 ID 的模型不再存在,这是真的。
我的问题是如何触发事件来告诉具有特定 ID 的汽车已被删除。我不想创建另一个将扩展 Event 并且仅用于删除的类,我想使用我现有的 CarEvent 类。
如果模型序列化时来自数据库的数据,我可以创建 Car 对象并设置它Id
的属性并以某种方式禁用休息吗?