Получение переменной GET «?» В laravel

Привет, я создаю API, используя REST и Laravel после этой статьи.

Все работает хорошо, как ожидалось.

Теперь, я хочу отобразить запрос GET для распознавания переменной с помощью «?».

Например: domain/api/v1/todos?start=1&limit=2

Ниже приведено содержание моих маршрутов.php:

 Route::any('api/v1/todos/(:num?)', array( 'as' => 'api.todos', 'uses' => 'api.todos@index' )); 

мои контроллеры / api / todos.php:

 class Api_Todos_Controller extends Base_Controller { public $restful = true; public function get_index($id = null) { if(is_null($id)) { return Response::eloquent(Todo::all(1)); } else { $todo = Todo::find($id); if (is_null($todo)) { return Response::json('Todo not found', 404); } else { return Response::eloquent($todo); } } } } 

Как распознать параметр get с помощью "?" ?

Взгляните на супергеллалы $ _GET и $ _REQUEST. Для вашего примера будет работать следующее:

 $start = $_GET['start']; $limit = $_GET['limit']; 

РЕДАКТИРОВАТЬ

Согласно этому сообщению на форумах laravel , вам нужно использовать Input::get() , например,

 $start = Input::get('start'); $limit = Input::get('limit'); 

См. Также: http://laravel.com/docs/input#input

Это довольно просто. Я не тестировал другие версии Laravel, но в 5.3 вы просто ссылаетесь на параметр запроса, как если бы он был членом class Request .

1. URL

http://example.com/path?page=2

2. Маршруты / Контроллер

 Route::get('/path', function(Request $request){ //debug $request->page; }); //output "2" 

3. Значения по умолчанию

Мы также можем передать значение по умолчанию, которое возвращается, если параметр не существует. Это избавляет нас от этой троичной магии

  //bad $page = isset($_POST['page']) ? $_POST['page'] : 1; //do this instead $request->get('page', 1); $request->input('page', 1); 

// возвращает страницу 1, если нет страницы

4. Использование функции запроса

 request('page', 1); //returns page 1 if there is no page parameter in the query string 

Параметр по умолчанию является необязательным, поэтому его можно опустить

Это лучшая практика. Таким образом вы получите переменные из метода GET, а также метод POST

  public function index(Request $request) { $data=$request->all(); dd($data); } //OR if you want few of them then public function index(Request $request) { $data=$request->only('id','name','etc'); dd($data); } //OR if you want all except few then public function index(Request $request) { $data=$request->except('__token'); dd($data); } и  public function index(Request $request) { $data=$request->all(); dd($data); } //OR if you want few of them then public function index(Request $request) { $data=$request->only('id','name','etc'); dd($data); } //OR if you want all except few then public function index(Request $request) { $data=$request->except('__token'); dd($data); } за  public function index(Request $request) { $data=$request->all(); dd($data); } //OR if you want few of them then public function index(Request $request) { $data=$request->only('id','name','etc'); dd($data); } //OR if you want all except few then public function index(Request $request) { $data=$request->except('__token'); dd($data); } 

Параметры запроса используются следующим образом:

 use Illuminate\Http\Request; class MyController extends BaseController{ public function index(Request $request){ $param = $request->query('param'); } 

В laravel 5.3 $start = Input::get('start'); возвращает NULL

Чтобы решить эту проблему

 use Illuminate\Support\Facades\Input; //then inside you controller function use $input = Input::all(); // $input will have all your variables, $start = $input['start']; $limit = $input['limit']; 

В ларавеле 5.3

Я хочу показать get param в моем представлении

Шаг 1: мой маршрут

 Route::get('my_route/{myvalue}', 'myController@myfunction'); 

Шаг 2: Напишите функцию внутри вашего контроллера

 public function myfunction($myvalue) { return view('get')->with('myvalue', $myvalue); } 

Теперь вы возвращаете параметр, который вы передали в представление

Шаг 3: Показывать это в моем представлении

Внутри моего взгляда я могу просто повторить его, используя

 {{ $myvalue }} 

Итак, если у вас есть это в вашем URL-адресе

http://127.0.0.1/yourproject/refral/this@that.com

Затем он напечатает this@that.com в вашем файле просмотра

надеюсь, это поможет кому-то.