用ngResource在angularjs和laravel中持久化来自不同ng-model指令的两个数据对象



我有两个输入字段在我的HTML块,ng-model="book_id"ng-model="borrower_id"。我也有一个按钮叫commit()。每当我单击它时,我都希望在一次执行中保存两个id。这在Angular中可能吗?我试着找过了,但什么也没找到。如果谁有什么主意,我将不胜感激。

到目前为止,这是我的代码片段。

/app.js/

$scope.commit = function(){
            $scope.$emit('Load')
            Transaction.save({
                'book_id': book.id,
                'borrower_id': lender.lenderID
            }).$promise.then(function(data){
                    if(data.msg){   
                    //angular.copy({}, $scope.book);    
                    $scope.$emit('Unload');
                    $window.location.href='/';
                }
            })  
        };

/API/TransactionController/

class TransactionController extends Controller{
public function store(Request $request){

    $transaction = new Transaction();
    $transaction->book_id = $request->book_id;
    $transaction->lender_id = $request->borrower_id;
    $transaction->save();
    return response()->json([
        'msg' => 'Success',
        '' => $transaction
        ]);
}
}

/html/

<label for="borrowerID"><span class="text-success">Borrower ID</span>   </label>
                                <i ng-show="loading" class="fa fa-spinner fa-1x fa-spin"></i>   
                                <input  type="password" name="borrowerID" id="borrowerID" class="form-control" ng-model="lender.lenderID" disabled>
/--book_id--/
<label for="bookID"><span class="text-success">Book ID</span></label>
                                <i ng-show="loading" class="fa fa-spinner fa-1x fa-spin"></i>   
                                <input type="password" name="bookID" id="bookID" class="form-control" ng-model="book.id" disabled>

/模型/交易/

class Transaction extends Model
{
protected $table = 'transactions';
protected $fillable = ['book_id', 'borrower_id'];

public function lenders(){
    return $this->belongsTo('AppLender');
}
}

我想当您将数据传递到api调用时,您可能会错过$scope。假设您在与您提供的HTML模板相关联的控制器中有这个。

$scope.commit = function(){
            $scope.$emit('Load')
            Transaction.save({
                'book_id': $scope.book.id, // added $scope 
                'borrower_id': $scope.lender.lenderID // added $scope 
            }).$promise.then(function(data){
                    if(data.msg){   
                    //angular.copy({}, $scope.book);    
                    $scope.$emit('Unload');
                    $window.location.href='/';
                }
            })  
        };

最新更新