2016-05-26 4 views
1

У меня есть 2 маршрута, как показано ниже,Различать между GET и методом POST в Laravel контроллер

Route::get('/','[email protected]'); 
Route::post('/','[email protected]'); 

или

Route::any('/','[email protected]'); 

Когда запрос прибудет называется я рассчитает дату и запрос курица поста называется I будут получать даты от ввода формы.

когда метод пост называется в моем контроллере

$date1 = $request->get ('date1'); 
$date2 = $request->get ('date2'); 

когда прибудете называется

$date1 = will calculate using date function 
$date2 = will calculate using date function 

Как отличить оба метода получить и пост, если получить я должен один набор вещей и пост другого множество вещей

ответ

1
<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Illuminate\Routing\Controller; 

class SmeController extends Controller 
{ 
    /** 
    * Do somthing 
    * @param Request $request 
    */ 
    public function update(Request $request) 
    { 
     if ($request->isMethod('post')) { 
    // 
     } 
     if ($request->isMethod('get')) { 
    // 
     } 
    } 
} 

можно также использовать $method = $request->method();

4

Вы можете просто сделать это, используя ниже код

public function someMethod(Request $request) 
{ 
     $method = $request->method(); 

     // to check if its a post method 
     if ($request->isMethod('post')) { 
      // 
     } 

     // to check if its a get method 
     if ($request->isMethod('get')) { 
      // 
     } 
} 

Метод метод возвращает HTTP глагол для запроса. Вы также можете использовать метод isMethod для проверки того, что HTTP-глагол соответствует заданной строке:

+1

получил аналогичный ответ от Б. Б. Кевина, он ответил быстро. Так что я принял это как ответ – Mann

+0

@Mann никаких проблем :) –

0
$request->query();//return only GET param 
$request->request->all()// POST param 
$request->input();//all