【发布时间】:2019-12-16 23:02:45
【问题描述】:
我有多个页面需要通过数据库中的 id 访问它们,我发现很难在刀片模板中访问它们。我决定创建一个控制器来访问它们,那么可以这样做吗?
我的控制器:
public function index(Request $request,$id)
{
$categories = Category::with('subcategories')
->get();
return View::make(['index','pages.quote','pages.video','pages.music','pages.radio','pages.inspiration','pages.gospel','pages.image'], [
'categories'=>$categories
]);
}
路线:
Route::get('test','NewsletterController@test');
Route::get('newsletter','NewsletterController@create');
Route::post('newsletter','NewsletterController@store');
Route::get('/', 'MainController@index')->name('index');
Route::get('quote/{id}','HeaderController@index');
Route::get('video/{id}','HeaderController@index');
Route::get('radio/{id}','HeaderController@index');
Route::get('inspiration/{id}','HeaderController@index');
Route::get('gospel/{id}','HeaderController@index');
Route::get('image/{id}','HeaderController@index');
刀片视图:
<ul class="navbar-nav leftside mr-auto">
@foreach($categories as $category)
<li class="nav-item active">
@if($category->id == 2 )
<a class="nav-link" href="{{ route('index', ['id' => $category->id])}}">{{$category->name}} <span class="sr-only">(current)</span></a>
@endif</li>
</li>
@endforeach
</ul>
【问题讨论】:
-
为什么要这样做而不是创建另一个函数?
标签: laravel laravel-5 eloquent laravel-5.8