2016-12-17 70 views
1

我的看法是這樣的:如何在laravel 5.3中獲取參數?

<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] 

是否有任何人誰可以幫幫我嗎?

回答

1

您的路線應爲:

Route::get('users/index/{year}', '[email protected]')->name('users.index.year'); 

您的控制器:

public function index(Request $request, $year) 
{ 
    echo $year;die() 
} 

然後你可以使用它在您的觀點是:

{{ route('users.index.year', ['year' => 2016]) }} 
+0

存在這樣的錯誤:'UserController中的ErrorException。php第36行:缺少參數2 for App \ Http \ Controllers \ UserController :: index()' –

+0

相同。它不起作用 –

+0

試着註釋掉你的資源行'Route :: resource('users','UserController');'然後再試一次,也許它會導致一些問題。 –

0

你會怎麼得來的方法爭議

public function index(Request $request,$para_year) 
{ 
    $year = para_year; 
    echo $year;die() 
} 

,你的路線應該是在航線

Route::get('users/index/{year}', '[email protected]'); 
1

傳遞參數是這樣的:

Route::get('users/index/{year}', '[email protected]'); 

查看:

<a href="{!! route('users.index', ['year' => 2016]) !!}"> 
    <i class="fa fa-circle-o"></i> YEAR 2016 
</a> 

控制器(獲得儘可能控制方法內部參數):

public function index($year) 
{ 
    echo $year; 
    die(); 
} 

或者 - 如果你想傳遞一個參數爲GET PARAMS路線只是這樣做:

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

並使用在控制器中抓住它這樣的幫手:

public function index() 
{ 
    $year = request()->get('year'); 
    echo $year; 
    die(); 
} 

希望能幫到你!

+0

似乎我需要你的幫助。看看這個:http://stackoverflow.com/questions/41788737/why-the-deleted-data-still-appear-in-the-interface –