Немного застрял с параметрами, рынок и сортировка не являются обязательными
Route::get('Category/{title}/{market?}/{sort?}', 'HomeController@productList');
Но когда я делаю это в URI
url: категория / заголовок /? sort = 3
он не регистрируется как 3 для сортировки, но входит в качестве рыночного параметра
конечно, если URI был Category / title / Makert / 3, он вернет то, что я хочу
public function productList($title, $market = null, $sort = null)
{
// Gets the Categories with its Markets
$categorys= Product::cats();
$brands = Product::CategoryWithMarket($title, $market)->groupBy('Brand')->get();
$subCat = Product::where('Category', $title)->groupBy('Market')->orderBy('Market', 'ASC')->get();
if (!$market) {
$marketList = Product::where('Category', $title)->orderBy('Brand', 'ASC')->orderBy('Label', 'ASC')->paginate(15);
$brands = Product::where('Category', $title)->groupBy('Brand')->orderBy('Brand', 'ASC')->get();
$mainTitle = ucfirst($title);
}
else {
// Gets the list of products with the catery and market attributes arranged by the brand of product
$marketList = Product::CategoryWithMarket($title, $market)->paginate(15);
$mainTitle = ucfirst($title) . ' ' . ucfirst($market) ;
}
return $sort;
В theroy он должен передать обратно параметр сортировки, который равен 3, но ничего не возвращает, поэтому мой вопрос заключается в том, как заставить сортировку возвращать его значение 3, а не быть нулевым
Маршрутизатор использует только путь, чтобы соответствовать маршрутам, и только параметры пути вводятся в контроллер. Так что если вы хотите Сортировать чтобы быть переданным в контроллер от маршрутизатора, вы должны указать это в пути (/{Сортировать?}), а не в запросе (?сортировать = 3).
Если вы хотите получить доступ к параметрам запроса в вашем контроллере, вы можете сделать это через $ запрос объект (если это аргумент вашего действия) или Запрос фасад:
public function someAction() {
echo Request::query('sort');
}
Других решений пока нет …