php – Laravel 5 Pagination undefined可变车辆在视野中
发布时间:2020-12-14 19:39:05 所属栏目:大数据 来源:网络整理
导读:我试图使用L5分页,一切看起来很好,直到我点击第二页链接.当我点击它我得到这个错误: Laravel 5 Pagination undefined variable vehicles in view 调节器 public function search() { $vehicle = Vehicle::with('representive','seller','buyer','whoUpdated
我试图使用L5分页,一切看起来很好,直到我点击第二页链接.当我点击它我得到这个错误:
调节器 public function search() { $vehicle = Vehicle::with('representive','seller','buyer','whoUpdated')->orderBy('created_at','desc')->first();; $previous = Vehicle::where('id','<',$vehicle->id)->max('id'); $next = Vehicle::where('id','>',$vehicle->id)->min('id'); $first = Vehicle::orderBy('created_at','asc')->first(); $last = Vehicle::orderBy('created_at','desc')->first(); //passing rapyd components $rapydProcess = new RapydController(); $searchFilter = $rapydProcess->createSearchFilter(); $searchGrid = $rapydProcess->createVehicleDataGrid($searchFilter); $vehicleTrackFilter = $rapydProcess->createVehicleTrackFilter(); $vehicleTrackDataGrid = $rapydProcess->createVehicleTrackDataGrid($vehicleTrackFilter); //$statisticsDataGrid = $rapydProcess->statisticsDataGrid(); //passing select box contents to view $clients = Client::lists('full_name','id'); $vehicleTypes = VehicleType::lists('vehicle_type','id'); $sections = Section::lists('section_name','id'); $brands = Brand::lists('brand_name','id'); $paymentTypes = PaymentType::lists('payment_type','id'); $searchOptions = StatisticsSearchOptions::lists('option_name','slug'); $option1 = Request::get('option1'); $option2 = Request::get('option2'); $condition = Request::get('condition'); $date_option = Request::get('dateOption'); $option1_value = Request::get('option1_value'); $option2_value = Request::get('option2_value'); $fromDate = Request::get('fromDate'); $toDate = Request::get('toDate'); if (isset($option1_value)) { $actual_option1 = ''; foreach ($option1_value as $value) { if ($value != '') { $actual_option1 = $value; } } } if (isset($option1_value)) { $actual_option2 = ''; foreach ($option2_value as $value) { if ($value != '') { $actual_option2 = $value; } } } if($condition == 'no'){ $vehicles = Vehicle::with('brand','section','representive','buyingPaymentType','sellingPaymentType')->where($option1,$actual_option1)->paginate(2); //return $vehicle; } if($condition == 'or'){ $vehicles = Vehicle::with('brand',$actual_option1)->orWhere($option2,$actual_option2)->paginate(2); } if($condition == 'and'){ $vehicles = Vehicle::with('brand',$actual_option1)->where($option2,$actual_option2)->paginate(2); } return view('pages.aracislemler',compact('vehicles','condition','option1','option2','actual_option1','actual_option2','vehicle','previous','next','first','last','searchFilter','searchGrid','vehicleTrackFilter','vehicleTrackDataGrid','statisticsDataGrid','vehicleTypes','sections','brands','clients','paymentTypes','searchOptions')); //return $vehicles; } 视图 @if(isset($vehicles)) @foreach($vehicles as $vehicle) <tr> <td style="padding: 15px;">{{ $vehicle->id }}</td> <td style="padding: 15px;">{{ $vehicle->brand_id }}</td> <td style="padding: 15px;">{{ $vehicle->model }}</td> <td style="padding: 15px;">{{ $vehicle->type_id }}</td> <td style="padding: 15px;">{{ $vehicle->licenseplate }}</td> <td style="padding: 15px;">{{ $vehicle->representive_client_id }}</td> <td style="padding: 15px;">{{ $vehicle->buyer_client_id }}</td> <td style="padding: 15px;">{{ $vehicle->seller_client_id }}</td> <td style="padding: 15px;">{{ $vehicle->debit_situation }}</td> <td style="padding: 15px;">{{ $vehicle->partner_situation }}</td> <td style="padding: 15px;"><a href="{{ URL::to( 'pages/vehicles?show=' . $vehicle -> id ) }}">Git</a></td> </tr> @endforeach @endif {!! $vehicles->appends(['condition' => 'condition','option1' => 'option1','option2' => 'option2','actual_option1' => 'actual_option1','actual_option2' => 'actual_option2'])->render()!!} 作为一个L5新手,我不知道该怎么办,我该如何解决这个问题呢? 解决方法
你没有将你的$条件追加到分页中,所以它就丢失了.在返回View之前的if语句中(在Controller中),只有在满足$condition时才设置$vehicles变量(没有回退),所以它不会将$vehicles传递给视图.设置回退是明智的,如果实际上没有条件,请将$vehicles变量设置为某个值,否则会导致您遇到的错误.
请注意,您还必须将其传递给您的视图! (你目前没有这样做) 在你的视图中尝试这样的事情: {!! $vehicles->appends(['condition' => $condition])->render()!!} 并将其添加到您的控制器: return view('pages.aracislemler','condition'... 来源:http://laravel.com/docs/5.1/pagination(寻找追加) 编辑(正如评论和@HieuLu所解释的那样:(例如,您可能必须根据需要更改最后的其他内容) if($condition == 'no'){ $vehicles = Vehicle::with('brand',$actual_option1)->paginate(2); //return $vehicle; } elseif($condition == 'or'){ $vehicles = Vehicle::with('brand',$actual_option2)->paginate(2); } elseif($condition == 'and'){ $vehicles = Vehicle::with('brand',$actual_option2)->paginate(2); } else { $vehicles = Vehicle::with('brand','sellingPaymentType')->paginate(2); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |