所以我想使用Angular更新Laravel中的记录。 这就是我所拥有的,但我担心这不是最好的做法吗?
基本上,我现在正在做的是: 1.我使用'show'函数从我的单个帖子获取数据(我想这是我已经错了,不应该在我的更新函数中处理)? 2.我用这些数据填写表格 3.我尝试使用'update'功能更新数据。 我不认为这是RESTfull?
Angular.js: 工厂展示和更新:
update : function(
id,
rideEdit
)
{
//rideData.ridedate = $filter('date')(rideData.ridedate, "dd-MM-yyyy HH:mm:ss");
console.log(rideEdit);
return $http({
method: 'PATCH',
url: '/api/rides/' + id,
headers: { 'Content-Type' : 'application/x-www-form-urlencoded' },
data: $.param(rideEdit)
});
},
show : function(
id
)
{
return $http.get('/api/rides/' + id);
}
Angular.js:EditController(这是我填充表单的地方,按钮点击按钮,...)。
$scope.rideEdit = {};
var id = $stateParams.id;
// Alles nemen van 1 record
Ride.show(id)
.success(function(data) {
console.log(data);
$scope.rideEdit.Dataname = data.name;
$scope.rideEdit.Description = data.description;
$scope.rideEdit.datetime = data.ridedatetime;
$scope.rideEdit.persons = data.ridepersons;
$scope.rideEdit.vertrekpunt = data.ridevertrekpunt;
$scope.rideEdit.eindpunt = data.rideeindpunt;
});
$scope.updateRide = function() {
console.log($scope.rideEdit);
Ride.update(id, $scope.rideEdit)
.success(function (data) {
ToastFactory
.show('Rit aangepast!');
$location.path('/home');
})
.error(function(error) {
ToastFactory
.show(error);
});
};
Laravel: Ridescontroller:
public function index()
{
$results = Ride::with('user')->get();
return $results;
}
/**
* Store a newly created resource in storage.
*
* @param StoreRideRequest $request
* @return Response
*/
public function store(StoreRideRequest $request)
{
$ride = new Ride($request->all());
Auth::user()->rides()->save($ride);
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show($id)
{
//$results = Ride::find($id)->with('user')->get();
$result = Ride::find($id);
return $result;
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param Request $request
* @param int $id
* @return Response
*/
public function update(Request $request, $id)
{
$updateride = Ride::findOrFail($id);
$updateride->update($request->all());
}
一切正常(除了更新)。所以我有两个问题: 1. RESTfull的方法是否正常? 2.如果是,我的更新功能出了什么问题?
谢谢!
答案 0 :(得分:0)
回答我问题的第2部分:
我的命名公约并不正确。我随更新发送的字段名称与数据库中的名称相同。相应地更改它们解决了更新问题。