我搜索了网站,我可以选择各种过滤器。这已经有效了。他正确地返回并进行分页。
示例:
/empresas?estado=2&tipo=3&page=2
问题是当我点击订购时(一个表格选择)。
它不维护当前的URL,它只是:
/empresas?ordenar=nome
应该是这样的:
/empresas?estado=2&tipo=3&ordenar=nome&page=3
我做了一个附加内容,例如分页。
但它不起作用。
控制器:
$estados = DB::table('estados')->orderBy('nome', 'asc')->get();
$tipos = DB::table('tipos')->orderBy('nome', 'asc')->get();
$word = Input::get('query');
$ordenar = Input::get('ordenar');
$estado = Input::get('estado');
$tipo = Input::get('tipo');
$query = Empresas::with('usuario')
->with('estado');
if($word)
$query->where('descricao', 'LIKE', '%' . $word . '%')
->orWhere('carta', 'LIKE', '%' . $word . '%');
if($estado)
$query->whereIn('estado_id', $estado);
if($tipo)
$query->where('tipo_id', $tipo);
if($ordenar)
$query->orderby($ordenar, 'asc');
$empresas = $query->orderBy('updated_at', 'desc')->paginate(18);
return view("pages.empresas.index")
->with('estados', $estados)
->with('tipos', $tipos)
->with(compact('empresas', 'word', 'ordenar', 'estado','tipo'));
在视图中:
我做了一个foreach正常地带领域并且phaco追加渲染已经有效的
<center>{!! str_replace('/?','?', $empresas->appends(Input::query())->render()) !!}</center>
我有一个表格可以通过错误排序
<form action="/empresas" method=get>
<select class="form-control m-b" name="ordenar" onchange="this.form.submit()">
<option value="" disabled="" selected="">Ordenar por...</option>
<option value="nome">Nome</option>
</select>
</form>
答案 0 :(得分:0)
你应该尝试通过使用雄辩的范围/关系来避免这些令人讨厌的if语句。
您的错误很简单,您需要将您希望在查询字符串中看到的其他表单元素添加到表单中。如果要使用隐藏字段。您只看到一个参数,因为表单中只有一个输入。