Подтвердить что ты не робот

Передача параметра контроллеру с маршрута в 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.

Спасибо за помощь!

4b9b3361

Ответ 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

Надеюсь, это решает вашу проблему. Благодаря