控制器中未触发Laravel事件
我在拉维尔创建了交通预订系统。当客户预订新的运输行程时,我使用事件(CalculateCustomerBookingolCharges)计算佣金金额 我尝试预订新行程,所有数据都已保存,但未计算佣金金额(事件未触发) 这是我的控制器代码:控制器中未触发Laravel事件,laravel,events,laravel-5.4,laravel-5.5,laravel-events,Laravel,Events,Laravel 5.4,Laravel 5.5,Laravel Events,我在拉维尔创建了交通预订系统。当客户预订新的运输行程时,我使用事件(CalculateCustomerBookingolCharges)计算佣金金额 我尝试预订新行程,所有数据都已保存,但未计算佣金金额(事件未触发) 这是我的控制器代码: 公共函数savenewbooking(请求$Request) { $createbooking=预订::创建([ 'order_id'=>$orderid, “令牌”=>$request->input(“U令牌”), 'booking_id'=>$cur
公共函数savenewbooking(请求$Request)
{
$createbooking=预订::创建([
'order_id'=>$orderid,
“令牌”=>$request->input(“U令牌”),
'booking_id'=>$curbookingid,
“发票前缀”=>$bookingpre,
'userid'=>this->userid,
'user_email'=>$customerData->email,
“行程金额”=>tripamt美元,
“额外金额”=>$totalextraserviceamount,
“总金额”=>$totalbookingamount,
“ip_地址”=>$ipaddress,
“预订状态”=>1,
'创建人'=>this->userid
]);
事件(新的CalculateCustomerBookingLockCharges($createbooking));
//事件:fire(新的CalculateCustomerBookingolCharges($createbooking));
返回响应()->json([
'items'=>$orderid,
“错误”=>[
“代码”=>“请求成功”,
“说明”=>“预订已确认”
]
],200)
}
事件侦听器:
确保在EventServiceProvider中注册侦听器以侦听其相应的事件
转到App\Providers\EventServiceProvider,您将找到名为listen的受保护数组
protected $listen = [
]
在您的情况下,您的活动可以按如下所示进行注册
protected $listen = [
'App\Events\CalculateCustomerBookingolCharges' => [
'App\Listeners\CustomerBookingolCharges',
],
];
希望这能解决问题。您能显示CalculateCustomerBookingolCharges事件/通知文件吗?请确保您已在app.php
中配置了广播设置,并且该事件是通过ShouldBroadcast实现的。在给出更多代码之前,请随机附带说明。调用事件“CustomerBookingolCharges”和侦听器“CalculateECU…”不是更好吗?您可以编辑帖子并添加事件类和事件服务提供程序类的屏幕截图吗?