如何将发布请求绑定到Laravel 5中的模型

时间:2015-04-27 05:53:28

标签: angularjs laravel-5

如何将我的帖子请求绑定到routes.php中的模型?

    Route::post('/api/users/validate', 'UserController@validate'); //Want to 
assign a model to this post request

以下是我创建的模型

VUser.php

Class VUser extends Model{
protected userName;
protected password;
}

UserController.php

<?php namespace App\Http\Controllers;
use App\Models\VUser;

class VUserController extends Controller{
public function validate(VUser $u){
return "success";
}
}

我的Ajax请求

$scope.VUser={'userName' : $scope.userName, 'password': $scope.password};

$http.post('/api/users/validate', {'VUser': $scope.VUser}).
success(function(data, status, headers, config) {               
alert("success");
}).
error(function(data, status, headers, config) {
alert ("error");
}); 

提前致谢

1 个答案:

答案 0 :(得分:0)

Laravel在http://laravel.com/docs/4.2/controllers#restful-resource-controllers

有完整的资源控制器信息主题

如果这对您来说太多了,那么在您的情况下,您还可以使用URL参数定义单个路径

angular.module('qrWebapp').factory('errorInterceptor', function($q){
  var errorInterceptor = {
        response: function(res) {
            console.log(res.status);
            if (res.status !== 200){
                // Normally show some error messages. One of the most simple way is calling alert function.
                console.log(res.status, res.data);
            }
            return $q.reject(res);
        }
  };
  return errorInterceptor;
});

现在找到您的RouteServiceProvider并为用户定义绑定,如下所示。之后,您可以在{user}所在的每个控制器功能中使用Route::post('/api/users/{user}/validate', 'UserController@validate');

User $user

您还需要更改AngularJS代码,以便帖子转到网址$router->model('user', 'App\User'); ,其中XX是您在数据库中的用户ID。