2015-09-04 24 views
0

我有一個JSON格式後到達在laravel API控制器:角對象交到laravel分貝

public function update($id) { 
    $post=Request::all(); 

    return $post; 
} 

後註銷到控制檯:

{id: 1, title: "Quiz1", description: "This is a quiz", level_id: 1, questions: Array[2]} 

我想用laravel api控制器中的$ post數據從json對象數組中提取數據並更新我的數據庫。

角後是:

$scope.updateQuiz = function(quiz) { 
$scope.loading = true; 

$http.put('/admin/api/quiz/' + quiz.id, { 
quiz 
}).success(function(data, status, headers, config) { 
    $scope = data; 
    console.log($scope.quiz); 
    $scope.loading = false; 

}); 

};

該代碼的作用在於它抓取角度數據並將其張貼到Laravel函數,然後在角度應用程序中回發到控制檯。

這只是提取我​​不能做的個人數據。

這似乎對於個別職位的工作,但相當麻煩: 角:

$http.put('/admin/api/quiz/' + quiz.id, { 
    title:quiz.title 
}).success...... 

Laravel API:

$quiz->title = Request::input('title'); 

想知道怎樣才能避免列明所有崗位objects.Must是什麼顯然我失蹤了!?

謝謝。

+0

您還沒有表現出了你的代碼嘗試在你的PHP控制器。 –

+0

我不會把這種情況混淆。簡單地說,我怎樣才能從$ post對象中提取任何日期,因爲它顯然是在Laravel控制器中運行和運行的。 – martyn

回答

0

這是你想要的嗎?

public function update($id) { 
    $post = Post::find($id); 

    if(!is_null($post)){ 
     $post->title= $request->input('title'); 
     $post->description= $request->input('description'); 
     //And so on for all fields... 

     $post->save(); 
    } 
} 

注意:它沒有出現在我上面的例子中,但是您應該驗證laravel驗證接收到的值。見http://laravel.com/docs/5.0/validation#form-request-validation

如果你的問題是你如何重定向HTTP請求到控制器,你應該閱讀文檔的路由章:http://laravel.com/docs/5.0/routing 例如:

$app->group(['namespace' => 'App\Http\Controllers'], function($group){ 
    $group->put('/admin/api/quiz/', '[email protected]'); 
}); 
+0

不確定你在那裏做什麼:爲什麼這個$ id = $ request-> input('title'); – martyn

+0

正如我所說的角度對象發佈到api並在Request:all()中提取它。並從那裏返回到控制檯。所以以上都不是問題。 – martyn

+0

如果你看看我在控制器中的代碼,我從json中提取值並保存模型(更新),所以我認爲它符合你的要求...如果沒有,我不明白你的意思,重新詢問 – ylerjen