发送请求时出错。请再试一次laravel
我很难让我的Laravel项目正常工作 无法使距离计算正常工作,同时请求按钮给出发送请求时出错的错误信息。请再试一次。 有什么问题吗 提前谢谢 这是我的密码 公共功能发送请求(请求$request){发送请求时出错。请再试一次laravel,laravel,dictionary,Laravel,Dictionary,我很难让我的Laravel项目正常工作 无法使距离计算正常工作,同时请求按钮给出发送请求时出错的错误信息。请再试一次。 有什么问题吗 提前谢谢 这是我的密码 公共功能发送请求(请求$request){ $this->validate($request[ 's_latitude'=>'必需|数字', “d_纬度”=>“必需”|数字”, “s_经度”=>“必需”|数字”, “d_经度”=>“必需”|数字”, “服务类型”=>“必需”|数字|存在:服务类型,id', '促销代码'=>'存在:促销代码
$this->validate($request[
's_latitude'=>'必需|数字',
“d_纬度”=>“必需”|数字”,
“s_经度”=>“必需”|数字”,
“d_经度”=>“必需”|数字”,
“服务类型”=>“必需”|数字|存在:服务类型,id',
'促销代码'=>'存在:促销代码,促销代码',
“距离”=>“必需|数字”,
“使用钱包”=>“数字”,
“付款方式”=>“必需”|输入:现金、卡、贝宝”,
'card_id'=>['required_if:payment_mode,card','exists:cards,card_id,user_id',.Auth::user()->id],
]);
Log::info('来自用户的新请求:'.Auth::User()->id);
日志::信息('Request Details:',$Request->all());
$ActiveRequests=UserRequests::PendingRequest(Auth::user()->id)->count();
如果($ActiveRequests>0){
如果($request->ajax()){
return response()->json(['error'=>trans('api.ride.request_inprogress')),500);
}否则{
return redirect('dashboard')->带有('flash_error','ready request in progress.稍后再试');
}
}
如果($request->has('schedule\u date')&&$request->has('schedule\u time')){
$beforeschedule\u time=(新碳(“$request->schedule\u date$request->schedule\u time”)->subHour(1);
$afterschedule\u time=(新碳(“$request->schedule\u date$request->schedule\u time”)->addHour(1);
$CheckScheduling=UserRequests::where('status','SCHEDULED')
->其中('user_id',Auth::user()->id)
->两者之间('schedule_at',[$before schedule_time,$after schedule_time])
->计数();
如果($CheckScheduling>0){
如果($request->ajax()){
return response()->json(['error'=>trans('api.ride.request_scheduled')),500);
}否则{
return redirect('dashboard')->带有('flash_error','ready request Scheduled on this time');
}
}
}
$distance=设置::get('provider\u search\u radius','10');
$latitude=$request->s\u latitude;
$longitude=$request->s_经度;
$service\u type=$request->service\u type;
$Providers=Provider::with('service')
->选择(DB::Raw(((6371*acos(弧度('$latitude'))*cos(弧度(纬度))*cos(弧度(经度)-弧度('$latitude'))+sin(弧度('$latitude')))*sin(弧度(纬度))作为距离”),'id'))
->其中(‘状态’、‘已批准’)
->其中,((6371*acos(弧度('$latitude'))*cos(弧度('$latitude'))*cos(弧度(经度)-弧度('$latitude'))+sin(弧度('$latitude'))*sin(弧度(latitude)))计划日期$请求->计划时间);
}
$UserRequest->save();
日志::信息('New Request id:'.$UserRequest->id.'Assigned to provider:'.$UserRequest->current_provider_id.);
//更新付款方式
用户::其中('id',Auth::User()->id)->更新(['payment_mode'=>$request->payment_mode]);
如果($request->has('card_id')){
卡片::其中('user_id',Auth::user()->id)->更新(['is_default'=>0]);
卡片::其中('Card_id',$request->Card_id)->更新(['is_default'=>1]);
}
(新SendPushNotification)->IncomingRequest($Providers[0]->id);
foreach($key=>$Provider的提供程序){
$Filter=新请求过滤器;
//向第一个提供程序发送推送通知
//传入请求推送到提供程序
$Filter->request\u id=$UserRequest->id;
$Filter->provider\u id=$provider->id;
$Filter->save();
}
如果($request->ajax()){
返回响应()->json([
'消息'=>'已创建新请求!',
'request_id'=>$UserRequest->id,
“当前\u提供者”=>$UserRequest->当前\u提供者\u id,
]);
}否则{
返回重定向(“仪表板”);
}
}捕获(例外$e){
如果($request->ajax()){
return response()->json(['error'=>trans('api.something\u出错')),500);
}否则{
return back()->带有('flash_error','发送请求时出错。请重试');
}
}
}
您应该安装Xdebug来逐行调试应用程序。我们只知道try{}块中的某个地方发生了错误。如果您将catch(){}块中的响应消息设置为$e->getMessage(),则对于错误和flash_错误也会有所帮助。免责声明:仅用于开发目的。但当然,您需要检查如何安装Xdebug并使用它进行更好的开发和调试。查看控制台中的errorDevTools未能加载SourceMap:无法加载以下内容:HTTP错误:状态代码404,net::ERR_HTTP_RESPONSE_代码_FAILURE@Adeola尝试禁用所有验证。。然后逐个打开验证。您应该安装Xdebug来逐行调试应用程序。我们只知道try{}块中的某个地方发生了错误。如果将catch(){}块中的响应消息设置为$e->getMessage(),则会有助于错误和闪存错误。免责声明:仅用于开发目的。但当然,您需要检查如何安装X
$this->validate($request, [
's_latitude' => 'required|numeric',
'd_latitude' => 'required|numeric',
's_longitude' => 'required|numeric',
'd_longitude' => 'required|numeric',
'service_type' => 'required|numeric|exists:service_types,id',
'promo_code' => 'exists:promocodes,promo_code',
'distance' => 'required|numeric',
'use_wallet' => 'numeric',
'payment_mode' => 'required|in:CASH,CARD,PAYPAL',
'card_id' => ['required_if:payment_mode,CARD','exists:cards,card_id,user_id,'.Auth::user()->id],
]);
Log::info('New Request from User: '.Auth::user()->id);
Log::info('Request Details:', $request->all());
$ActiveRequests = UserRequests::PendingRequest(Auth::user()->id)->count();
if($ActiveRequests > 0) {
if($request->ajax()) {
return response()->json(['error' => trans('api.ride.request_inprogress')], 500);
} else {
return redirect('dashboard')->with('flash_error', 'Already request is in progress. Try again later');
}
}
if($request->has('schedule_date') && $request->has('schedule_time')){
$beforeschedule_time = (new Carbon("$request->schedule_date $request->schedule_time"))->subHour(1);
$afterschedule_time = (new Carbon("$request->schedule_date $request->schedule_time"))->addHour(1);
$CheckScheduling = UserRequests::where('status','SCHEDULED')
->where('user_id', Auth::user()->id)
->whereBetween('schedule_at',[$beforeschedule_time,$afterschedule_time])
->count();
if($CheckScheduling > 0){
if($request->ajax()) {
return response()->json(['error' => trans('api.ride.request_scheduled')], 500);
}else{
return redirect('dashboard')->with('flash_error', 'Already request is Scheduled on this time.');
}
}
}
$distance = Setting::get('provider_search_radius', '10');
$latitude = $request->s_latitude;
$longitude = $request->s_longitude;
$service_type = $request->service_type;
$Providers = Provider::with('service')
->select(DB::Raw("(6371 * acos( cos( radians('$latitude') ) * cos( radians(latitude) ) * cos( radians(longitude) - radians('$longitude') ) + sin( radians('$latitude') ) * sin( radians(latitude) ) ) ) AS distance"),'id')
->where('status', 'approved')
->whereRaw("(6371 * acos( cos( radians('$latitude') ) * cos( radians(latitude) ) * cos( radians(longitude) - radians('$longitude') ) + sin( radians('$latitude') ) * sin( radians(latitude) ) ) ) <= $distance")
->whereHas('service', function($query) use ($service_type){
$query->where('status','active');
$query->where('service_type_id',$service_type);
})
->orderBy('distance')
->get();
// List Providers who are currently busy and add them to the filter list.
if(count($Providers) == 0) {
if($request->ajax()) {
// Push Notification to User
return response()->json(['message' => trans('api.ride.no_providers_found')]);
}else{
return back()->with('flash_success', 'No Providers Found! Please try again.');
}
}
try{
$details = "https://maps.googleapis.com/maps/api/directions/json?origin=".$request->s_latitude.",".$request->s_longitude."&destination=".$request->d_latitude.",".$request->d_longitude."&mode=driving&key=".Setting::get('map_key');
$json = curl($details);
$details = json_decode($json, TRUE);
$route_key = $details['routes'][0]['overview_polyline']['points'];
$UserRequest = new UserRequests;
$UserRequest->booking_id = Helper::generate_booking_id();
$UserRequest->user_id = Auth::user()->id;
$UserRequest->current_provider_id = $Providers[0]->id;
$UserRequest->service_type_id = $request->service_type;
$UserRequest->payment_mode = $request->payment_mode;
$UserRequest->status = 'SEARCHING';
$UserRequest->s_address = $request->s_address ? : "";
$UserRequest->d_address = $request->d_address ? : "";
$UserRequest->s_latitude = $request->s_latitude;
$UserRequest->s_longitude = $request->s_longitude;
$UserRequest->d_latitude = $request->d_latitude;
$UserRequest->d_longitude = $request->d_longitude;
$UserRequest->distance = $request->distance;
if(Auth::user()->wallet_balance > 0){
$UserRequest->use_wallet = $request->use_wallet ? : 0;
}
$UserRequest->assigned_at = Carbon::now();
$UserRequest->route_key = $route_key;
if($Providers->count() <= Setting::get('surge_trigger') && $Providers->count() > 0){
$UserRequest->surge = 1;
}
if($request->has('schedule_date') && $request->has('schedule_time')){
$UserRequest->schedule_at = date("Y-m-d H:i:s",strtotime("$request->schedule_date $request->schedule_time"));
}
$UserRequest->save();
Log::info('New Request id : '. $UserRequest->id .' Assigned to provider : '. $UserRequest->current_provider_id);
// update payment mode
User::where('id',Auth::user()->id)->update(['payment_mode' => $request->payment_mode]);
if($request->has('card_id')){
Card::where('user_id',Auth::user()->id)->update(['is_default' => 0]);
Card::where('card_id',$request->card_id)->update(['is_default' => 1]);
}
(new SendPushNotification)->IncomingRequest($Providers[0]->id);
foreach ($Providers as $key => $Provider) {
$Filter = new RequestFilter;
// Send push notifications to the first provider
// incoming request push to provider
$Filter->request_id = $UserRequest->id;
$Filter->provider_id = $Provider->id;
$Filter->save();
}
if($request->ajax()) {
return response()->json([
'message' => 'New request Created!',
'request_id' => $UserRequest->id,
'current_provider' => $UserRequest->current_provider_id,
]);
}else{
return redirect('dashboard');
}
} catch (Exception $e) {
if($request->ajax()) {
return response()->json(['error' => trans('api.something_went_wrong')], 500);
}else{
return back()->with('flash_error', 'Something went wrong while sending request. Please try again.');
}
}
}