【发布时间】:2019-01-15 13:19:11
【问题描述】:
我正在尝试在我的 Laravel 应用程序中的表上实现过滤器。例如,我有一个包含“订单状态”列的订单表。我想要一个可以单击的按钮,以便我可以查看所有已交付的订单(待处理订单除外)。我尝试的方法是给我一个空白页和一个更改的 URL。这就是我想要做的。
查看
<form action="{{ action('FilterController@status_filter') }}" method="POST">
@csrf
<button type="submit" name="pending" value="1">Pending</button>
<button type="submit" name="delivered" value="2">Delivered</button>
</form>
@if(count ($info) > 0)
<table>
<thead>
<th>orderNumber</th>
<th>orderDate</th>
<th>shippedDate</th>
<th>status</th>
<th>comments</th>
<th>customerNumber</th>
</thead>
@foreach ($info as $info)
<tr>
<td>{{ $info->orderNumber }}</td>
<td>{{ $info->orderDate }}</td>
<td>{{ $info->shippedDate }}</td>
<td>{{ $info->status }}</td>
<td>{{ $info->comments }}</td>
<td>{{ $info->customerNumber }}</td>
</tr>
@endforeach
@endif
控制器
<?php
public function status_filter(Request $request)
{
$filter = FilterModel::where('status', true);
if ($request->has('1')) {
$filter->where('status', $pending);
}
if ($request->has('2')) {
$filter->where('status', $delivered);
}
return $filter->get();
return redirect('filter', ['filter' => $filter]);
}
路线
Route::post('status_filter', 'FilterController@status_filter');
型号:
class FilterModel extends Model
{
protected $table = 'orders';
protected $primarykey = 'orderNumber';
}
表架构:
【问题讨论】:
-
Laravel 419 post 错误通常与令牌授权有关
-
我将路由更改为 get ,现在错误消失了。现在唯一发生的事情是我的网址发生了变化。
-
你试过我的改变了吗?
标签: laravel filter eloquent frameworks