Laravel 拉维尔的路线是错误的

Laravel 拉维尔的路线是错误的,laravel,laravel-5,Laravel,Laravel 5,我不能做这条路线的工作 我的控制器: public function profissionais(Request $request, $id){ $profissionais = Vinculo::where('unidade_id', '=', $id)->get(); $profissionais = $id; return view('relatorios.profissionais', compact('profissionais')); } 我的表格:

我不能做这条路线的工作

我的控制器:

public function profissionais(Request $request, $id){
    $profissionais = Vinculo::where('unidade_id', '=', $id)->get();
    $profissionais = $id;
    return view('relatorios.profissionais', compact('profissionais'));
}
我的表格:

<form method="GET" action="{{route('relatorios.profissionais', 'id')}}">
    <select class="js-example-basic-single" name="id" required>
        @foreach($unidades as $unidade)
            <option value="{{$unidade->id}}">{{$unidade->descricao}}</option>
        @endforeach
    </select>
    <span class="input-group-btn">
        <button class="btn btn-primary" type="submit">Listar</button>
    </span>
</form>
我喜欢这样的路线:/relatorios/profissionais/4 4是ID,数字4将是$ID变量

但uri类似于:relatorios/profissionais/id?id=4

有什么帮助吗?

您可以这样做:

Route::get('/relatorios/profissionais/{id?}', 'RelatorioController@profissionais')->name('relatorios.profissionais');
您可以这样做:

Route::get('/relatorios/profissionais/{id?}', 'RelatorioController@profissionais')->name('relatorios.profissionais');

route helper的第二个参数应该是参数的值,而不是键

{{route('relatorios.profissionais', 4)}}
现在,由于要从表单设置此值,您需要使用请求输入而不是路由参数,或者使用javascript在select元素的更改事件上使用侦听器修改表单操作

之所以使用/id,是因为'id'是第二个参数。之所以有?id=4,是因为它是一个表单值,而不是路由参数

您还将在检索集合后立即覆盖$profissionais

    $profissionais = $id;

route helper的第二个参数应该是参数的值,而不是键

{{route('relatorios.profissionais', 4)}}
现在,由于要从表单设置此值,您需要使用请求输入而不是路由参数,或者使用javascript在select元素的更改事件上使用侦听器修改表单操作

之所以使用/id,是因为'id'是第二个参数。之所以有?id=4,是因为它是一个表单值,而不是路由参数

您还将在检索集合后立即覆盖$profissionais

    $profissionais = $id;

@Rafee是一个视图public/views/relatorios/profissionais.blade.phpy您需要以action={{route'relatorios.profissionais',4}的形式传递正确的参数。我看到有select元素,您可以在更改时更改操作url,而不传递该selectelement@Rafee数字4是我的表单在输入选择时生成的数字示例。我相信你需要这个来实现你所做的。@Rafee是一个视图public/views/relatorios/profissionais.blade.phpy你需要以action={route'relatorios.profissionais',4}的形式传递正确的参数,我看到有select元素,您可以在更改时更改操作url,但不传递该选择element@Rafee数字4是我的表单在输入选择时生成的数字示例。我相信你需要这个来实现你正在做的事情。数字4只是一个例子,我喜欢从formRight中获取值,或者使用$request->id而不是route参数,或者使用javascript侦听器自定义更改时的url。表单是否正确?如果你想用javascript侦听器替换id,否则不行。编辑:事实上,不行,我甚至不会这么做,因为那只适用于第一个变更事件。明白。感谢数字4只是一个例子,我喜欢从formRight中获取值,或者使用$request->id而不是route参数,或者使用javascript侦听器自定义更改时的url。表单是否正确?如果要用javascript侦听器替换id,否则否。编辑:实际上,否,我甚至不会这么做,因为那只适用于第一个变更事件。明白。谢谢