更新laravel和angularJS中的数据

更新laravel和angularJS中的数据,angularjs,rest,laravel-4,Angularjs,Rest,Laravel 4,嗨,我正在尝试用angularJS(前端)和laravel(后端)更新我的数据。 但即使我从id中得到了一个数据,但我总是生成一个新的数据。 我以为这是我的拉威尔密码的错,但不确定 AngularJS服务 app.factory('Assets', function($resource) { return $resource('/api/assets/:assetId',{assetId:'@id'},{ update: { method: 'PU

嗨,我正在尝试用angularJS(前端)和laravel(后端)更新我的数据。 但即使我从id中得到了一个数据,但我总是生成一个新的数据。 我以为这是我的拉威尔密码的错,但不确定

AngularJS服务

 app.factory('Assets', function($resource) {


    return $resource('/api/assets/:assetId',{assetId:'@id'},{
      update: {
           method: 'PUT' // this method issues a PUT request
              }
  }); 
});
控制器(用于数据列表)

控制器(用于编辑)

拉维尔航线

Route::group(array('prefix' => '/api'), function () {
Route::resource('assets', 'AssetController');

});
控制器

public function show($id){
    $assets = FAModel::find($id);


        $response[] = [
            'detailAssetCode' => $assets->AssetCode,
            'detailDescription' => $assets->Description,               
            'detailPurchaseDate' => $assets->PurchaseDate,
            'detailoldDate' =>$assets->SoldDate,

        ];





    return Response::json($response, 200);
}

public function update($id){
$FAModelObj = new FAModel;
    $fixedAssetData = FAModel::find($id);
        $FAModelObj->AssetCode = Input::json('detailAssetCode');
        $FAModelObj->Description = Input::json('detailDescription');//need to be JSON object??
        $FAModelObj->PurchaseDate =  Input::json('detailPurchaseDate');
        $FAModelObj->SoldDate =  Input::json('detailSoldDate');


        $FAModelObj->push();




    return Response::json(array('success'=>true));

}
你能找到问题吗??
如何更改以更新数据?谢谢。

问题在于您创建了一个新实例来保存数据,而不是现有实例。这就是在数据库中创建新行的原因。你的代码应该是这样的

public function update($id){

    $fixedAssetData = FAModel::find($id);
    $fixedAssetData->AssetCode = Input::json('detailAssetCode');
    $fixedAssetData->Description = Input::json('detailDescription');//need to be JSON object??
    $fixedAssetData->PurchaseDate =  Input::json('detailPurchaseDate');
    $fixedAssetData->SoldDate =  Input::json('detailSoldDate');
    $fixedAssetData->push();

    return Response::json(array('success'=>true));
}

希望它对您有用。

是的!现在可以了!我把$FAModelObj=新的FAModel;因为我有一个错误…(很抱歉,我忘了它现在是什么,我将在以后查找并评论。)但这是有帮助的。谢谢@Arkar Ang
public function show($id){
    $assets = FAModel::find($id);


        $response[] = [
            'detailAssetCode' => $assets->AssetCode,
            'detailDescription' => $assets->Description,               
            'detailPurchaseDate' => $assets->PurchaseDate,
            'detailoldDate' =>$assets->SoldDate,

        ];





    return Response::json($response, 200);
}

public function update($id){
$FAModelObj = new FAModel;
    $fixedAssetData = FAModel::find($id);
        $FAModelObj->AssetCode = Input::json('detailAssetCode');
        $FAModelObj->Description = Input::json('detailDescription');//need to be JSON object??
        $FAModelObj->PurchaseDate =  Input::json('detailPurchaseDate');
        $FAModelObj->SoldDate =  Input::json('detailSoldDate');


        $FAModelObj->push();




    return Response::json(array('success'=>true));

}
public function update($id){

    $fixedAssetData = FAModel::find($id);
    $fixedAssetData->AssetCode = Input::json('detailAssetCode');
    $fixedAssetData->Description = Input::json('detailDescription');//need to be JSON object??
    $fixedAssetData->PurchaseDate =  Input::json('detailPurchaseDate');
    $fixedAssetData->SoldDate =  Input::json('detailSoldDate');
    $fixedAssetData->push();

    return Response::json(array('success'=>true));
}