Сохранение двух объектов данных из разных директив ng-модели в angularjs и laravel с помощью ngResource

0

У меня есть два поля ввода в моем блоке HTML, ng-model="book_id" и ng-model="borrower_id". У меня также есть кнопка, которая вызывает commit(). Всякий раз, когда я нажимаю его, я хочу, чтобы два идентификатора сохранялись в одном выполнении. Возможно ли это в Угловом? Я пробовал искать, но ничего не нашел. Если у кого-то есть идея, я буду очень благодарен.

Пока это фрагмент, который у меня есть.

/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('\App\Lender');

}
}
Теги:
laravel-5

1 ответ

0
Лучший ответ

Я думаю, может быть, вам не хватает $scope когда вы передаете данные в вызов api. Предполагая, что у вас это есть в контроллере, связанном с шаблоном 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='/';
                }
            })  

        };
  • 0
    спасибо за ответ, но это не так, сэр. я настраивал это много раз, надеясь, что это сработает, возможно ли угловое сохранение двух разных объектов одновременно?
  • 0
    спасибо человек, вы дали ему хороший выстрел ... Jejeje

Ещё вопросы

Сообщество Overcoder
Наверх
Меню