【发布时间】:2021-01-09 09:39:48
【问题描述】:
我有一个项目显示两个日期之间的订单
路线:
Route::get('/order/manage/all/{date1?}{date2?}', [\App\Http\Controllers\OrderController::class, 'all'])->name('order.manage.all');
查看:
<form method="GET" action="{{route('order.manage.all')}}" id="buscador">
<div class="row">
<div class="form-group col">
<label for="date1" class="col-md-4 col-form-label">Fecha1</label>
<input type="date" class="mb-2"name="date1"/>
</div>
<div class="form-group col">
<label for="date2" class="col-md-4 col-form-label">Fecha2</label>
<input type="date" class="mb-2" name="date2"/>
</div>
<div class="form-group col">
<input class="btn btn-primary" type="submit" value="Filtrar"/>
</div>
</div>
</form>
@foreach($orders as $order)
<div class="card mb-5 line">
<h3 class="text-center">{{"Fecha de pedido: ".$order->date_order." | "."Referencia: ".$order->reference}} </h3>
<h3 class="text-center">{{$order->address->name." ".$order->address->surname1." ".$order->address->surname2}}</h3>
<h3 class="text-center">{{$order->address->address." (".$order->address->region.", ".$order->address->city.")"}}</h3>
<p class="text-center">{{\OrderItemHelper::countOrderItems($order->id)}} productos</p>
</div>
@endforeach
控制器:
public function all($date1 = null, $date2 = null) {
var_dump($date1);
var_dump($date2);
if (!empty($date1) && !empty($date2)) {
$orders = Order::whereBetween('date_order', [$date1, $date2])->get();
} else {
$orders = Order::orderBy('date_order', 'desc')->get();
}
return view('order.all', [
'orders' => $orders
]);
}
我遇到的问题是,当我通过 URL 接收这些参数时(在执行 $date1 的 var_dump 时,它会加载我 URL 的所有内容。并且 $date2 返回 null)
【问题讨论】: