角对象发布到laravel db

时间:2015-09-04 14:38:58

标签: arrays json angularjs laravel

我有一个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......

想知道如何避免列出所有邮件对象。必须是明显缺少的东西!

感谢。

1 个答案:

答案 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');
});