Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
есть ЧПУ такого вида
http://localhost/reviews/ford
нужно взять второй параметр [ford] и передать в контроллер для соответствующей обработки.
я так понимаю это нужно делать в роутинге, вот у меня там такая строка:
Route::paginate('reviews/{mark?}', ['as' => 'reviews','uses' =>'ReviewsController@listReviews']);
Вопрос, каким образом мне там получить 2-ой параметр [ford] и передать в контроллер?
Не в сети
В роутере:
Route::get('reviews/ford', 'NameController@fordall');
Route::get('reviews/ford/{idford}', 'NameController@fordgo');
В контроллере:
public function fordall(){
$fords= Ford::all()
return view('page.fords',[
'fords' => $fords,
]);
}
public function fordgo($idford){
$ford = Ford::where('id', $idford)->get()->first();
return view('page.ford',[
'ford' => $ford,
]);
}
Есть гет запросы: Route::get('reviews/ford', 'NameController@fordall'); - показать нам все форды (с пагиницией, количество элементов в контроллере - функция для пагинации {{ $fords->links() }} -> то о чем вы писали в ваш роутер нужно писать сюда, какие то может якоря и т.д. может 2 пагинации быть на странице как пример.
Есть гет запрос 2ой: Route::get('reviews/ford/{idford}', 'NameController@fordgo'); - показать нам конкретный форд, тут мы как раз и передаём в динамическую данную например {idford} - ид форда, и вы его передаёте таким методом в контроллер, в котором вы ищите по ид в базе нужный вам форд и послываете на вьювер, в вьювере вы уже себе отображаете как хотите.
Делайте ваше приложение правильно с начала.
Используйте Route::get, Route::post, Route::resource, Пагинация должна быть на стороне клиента, нечего ей делать на стороне сервера! Вы уже передаёте с сервера построенную пагинацию!
Не в сети
А если вы хотите передать в контроллер 2штучки
Route::get('reviews/ford/{idford}/{colorford}', 'NameController@fordgowithcolor');
Контроллер
public function fordgowithcolor($idford, $colorford){
$ford = Ford::where('id', $idford)->where('color', $colorford)->get()->first();
return view('page.ford',[
'ford' => $ford,
]);
}
Не в сети
Страницы 1