我的观点是这样的:
<li class="{{ Request::is('users*') ? 'active' : '' }}">
<a href="{!! route('users.index', 2016) !!}">
<i class="fa fa-circle-o"></i> YEAR 2016
</a>
</li>
<li>
<a href="{!! route('users.index', 2017) !!}">
<i class="fa fa-circle-o"></i> YEAR 2017
</a>
</li>
当我将鼠标悬停在2016年的链接上时,网址将如下:
localhost/mysystem/public/users?2016
我的路线\ web.php是这样的:
Route::get('users/index?{year}', 'UserController');
Route::resource('users', 'UserController');
我的控制器用户是这样的:
public function index(Request $request)
{
$year = $request->input('year');
echo $year;die()
}
存在这样的错误:
UnexpectedValueException in Route.php line 646: Invalid route action: [App\Http\Controllers\UserController]
有没有人可以帮助我?
答案 0 :(得分:1)
您的路线应为:
Route::get('users/index/{year}', 'UserController@index')->name('users.index.year');
您的控制器为:
public function index(Request $request, $year)
{
echo $year;die()
}
然后您可以在视图中使用它:
{{ route('users.index.year', ['year' => 2016]) }}
答案 1 :(得分:1)
在路线中传递参数如下:
Route::get('users/index/{year}', 'UserController@index');
查看:
<a href="{!! route('users.index', ['year' => 2016]) !!}">
<i class="fa fa-circle-o"></i> YEAR 2016
</a>
Controller(在控制器方法中作为参数获取):
public function index($year)
{
echo $year;
die();
}
或者 - 如果要将参数作为GET参数传递给路径,请执行以下操作:
Route::get('users/index', 'UserController');
并在<a href="">
内:
<a href="{!! route('users.index', ['year' => 2016]) !!}">
<i class="fa fa-circle-o"></i> YEAR 2016
</a>
声明:
{!! route('users.index', ['year' => 2016]) !!}
将创建如下路线:http://website.com/users/index?year=2016
并使用request()
帮助器在控制器中抓取它,如下所示:
public function index()
{
$year = request()->get('year');
echo $year;
die();
}
希望这有帮助!
答案 2 :(得分:0)
您将从方法论证中获得
public function index(Request $request,$para_year)
{
$year = para_year;
echo $year;die()
}
你的路线应该是
Route::get('users/index/{year}', 'UserController@index');