2016-07-12 44 views
3

我下面的教程http://www.tutorials.kode-blog.com/laravel-5-angularjs-tutorial,我已成功地編寫類似的方法對我的控制器:

public function update(Request $request, $id) { 
    $employee = Employee::find($id); 

    $employee->name = $request->input('name'); 
    //... 
    $employee->save(); 

    return "Sucess updating user #" . $employee->id; 
} 

它在教程認爲這個代碼的工作,但在現實中的var_dump($請求 - >輸入)給出NULL。那麼 - 我應該使用什麼$ request變量來獲取請求的主體?我做了var_dump($ request),但結構難以管理。其實我很懷疑這個教程 - 我們是否真的需要列出標準更新程序中的所有字段?

+1

如果你覺得複雜的讀取對象大小的var_dump;執行此操作: 'echo'

' . print_r($request) . '
';' –

+1

或laravel:'dd($ request);' – swatkins

+0

您可以嘗試'dd($ request-> all())'而不是... –

回答

3

您可以通過訪問輸入數據:

$input = $request->all(); 

https://laravel.com/docs/5.2/requests#retrieving-input

但是,我也必須得到輸入以這種方式使用AngularJS $http模塊時:

$input = file_get_contents('php://input'); 
+0

var_dump($ request- > all())給出數組(0){}。這很奇怪,因爲我使用「我只休息」程序中的正文數據進行測試PUT請求。身體迷路了嗎? – TomR

1

如果您想要從請求對象中獲取單個參數,您可以使用輸入方法做到這一點方法請求類。

$request->input("parameter_name");

但是,如果你想獲取所有的參數,那麼你可以使用all方法將返回所有的請求的數組key-value對

$request->all()

事情你錯過的是,你打電話$request->input這是空的,因爲input方法的請求類,而不是一個屬性

1

爲獲得所有輸入

嘗試

$request = \Input::all();