我有一个json格式的帖子到达了laravel api控制器:
InvalidCastException
帖子退出到控制台:
public function update($id) {
$post=Request::all();
return $post;
}
我想使用laravel api控制器中的$ post数据从json对象数组中提取数据并更新我的数据库。
角柱是:
{id: 1, title: "Quiz1", description: "This is a quiz", level_id: 1, questions: Array[2]}
};
代码的工作原理是它抓取角度数据并将其发布到Laravel函数,然后在角度应用程序中回发到控制台。
我只能提取个人数据。
这似乎适用于个别帖子,但相当繁琐: 角:
$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 Api:
$http.put('/admin/api/quiz/' + quiz.id, {
title:quiz.title
}).success......
想知道如何避免列出所有邮件对象。必须是明显缺少的东西!
感谢。
答案 0 :(得分: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/', 'YourController@update');
});