Передача параметра контроллеру с маршрута в laravel
ЭТО ВОПРОС ДЛЯ LARAVEL 3
Учитывая следующий маршрут
Route::get('groups/(:any)', array('as' => 'group', 'uses' => '[email protected]'));
И URL, который я хотел бы использовать,
http://www.example.com/groups/1
Я хотел бы иметь возможность использовать значение (:any)
в моем контроллере.
Мой контроллер выглядит как
class Groups_Controller extends Base_Controller {
public $restful = true;
public function get_show($groupID) {
return 'I am group id ' . $groupID;
}
}
Как это можно сделать? Я пробовал несколько вещей, включая следующие
Route::get('groups/(:any)', array('as' => 'group', 'uses' => '[email protected]((:1))'));
но это не сработало.
UPDATE
В любое время, когда я пытаюсь передать аргументы, как показано выше, я получаю ошибку 404.
Спасибо за помощь!
Ответы
Ответ 1
Вам не нужно ничего особенного для добавления параметров. Так же, как и у вас.
Route::get('groups/(:any)', array('as' => 'group', 'uses' => '[email protected]'));
class Groups_Controller extends Base_Controller {
public $restful = true;
public function get_show($groupID) {
return 'I am group id ' . $groupID;
}
}
Ответ 2
Это то, что вам нужно в 1 строке кода.
Route::get('/groups/{groupId}', '[email protected]');
Предложение: используйте CamelCase вместо символов подчеркивания, попробуйте и следуйте инструкциям PSR- *.
Надеюсь, поможет.
Ответ 3
Вы можете добавить их так:
Route::get('company/{name}', '[email protected]');
Ответ 4
$ php artisan route:list
+--------+--------------------------------+----------------------------+-- -----------------+----------------------------------------------------+--------- ---+
| Domain | Method | URI | Name | Action | Middleware |
+--------+--------------------------------+----------------------------+-------------------+----------------------------------------------------+------------+
| | GET|HEAD | / |
| | GET | campaign/showtakeup/{id} | showtakeup | App\Http\Controllers\[email protected] | auth | |
routes.php
Route::get('campaign/showtakeup/{id}', ['uses' =>'[email protected]'])->name('showtakeup');
campaign.showtakeup.blade.php
@foreach($campaign as $campaigns)
//route parameters; you may pass them as the second argument to the method:
<a href="{{route('showtakeup', ['id' => $campaigns->id])}}">{{ $campaigns->name }}</a>
@endforeach
Надеюсь, это решает вашу проблему.
Благодаря
Ответ 5
вопрос, который я хочу импортировать в соответствии с точкой зрения, где я нахожусь
введите описание изображения здесь