如何使用Angular和Sequelize获取最后插入的ID并将其保存到其他表中?

时间:2019-03-25 06:07:23

标签: html angularjs

情况是:我有一个提交表单,其中有一个输入框和四个复选框。我在数据库中有两个表。一个表用于输入框记录(称为“原因”),另一个表用于复选框记录(称为“ reason_to_transaction”)。当我单击“提交”按钮时,它将检查是否选中了某些复选框,并且输入框是否包含一些文本,并将来自输入框和复选框的数据保存到两个不同的表中。表“ reasons”具有两列(id,name)。表“ reasons_to_transaction”具有两列(reason id,transcation_type)。表(reasons_to_transaction)“ transcation_type”中的列可保存复选框中的数据。 rable(原因)中的列保存来自输入框的数据。如何将数据从表“ reasons”中保存到表(“ reaons_to_transaction”)中。我的函数现在可以运行,但是在“ reason_id”中可以保存NULL。我的代码是:

如何获取一个表中的最后一个插入ID并将其保存到另一个表中。 我正在使用Angular Sequelize。

我有此代码:

<form ng-submit="createReason(reasonsForm1.$valid)" name="reasonsForm1">
    <div class="row">
        <div class="col-sm-12">
            <div class="form-group">
                <label for="database_address">??? ?? ?????????:</label>
                <input type="text" class="form-control" ng-model="reasonname" placeholder="??? ????????? ?? ????????" />
            </div>
            <div class="container">
                <p>???????? ?? ???:</p>

                <ul>
                <li ng-repeat="album in albums">
                <input type="checkbox" ng-model="album.selected" value={{album.name}} /> {{album.name}}
                </li>
                </ul>
               <button type='button' ng-click="save1()">Save</button><br>
              Saved results:<br>
              {{albumNameArray}}

        </div>


        </div>

    </div>
    <button class="btn btn-primary" type="submit">Save</button>
    <button class="btn btn-primary" id="cnlbtn1" type="button">Cancel</button>

     <!--ng-click="createUser()"-->
    <!--<button class="btn btn-primary" ng-disabled="userForm.$invalid" type="submit">???????? ?? ???</button>-->
</form>





$scope.createReason=function()
    {
        $scope.albumNameArray = [];
            angular.forEach($scope.albums, function(album){
            if (album.selected && album.name=="sell")
            {
                defaultAdapter.query('INSERT INTO reason_to_transaction(transaction_type) VALUES("sell") ',

                 {
                     /*replacements: objectToSave1,*/type:Sequelize.QueryTypes.UPDATE
                 })
                $scope.refresh();
            }
            var objectToSave = {
            name: $scope.reasonname,
        };
            defaultAdapter.query('INSERT INTO reasons(name) VALUES(:name)',
              { replacements: objectToSave, type: Sequelize.QueryTypes.UPDATE }
            ).then(projects => {
              console.log(projects);
              $scope.editMode = false;
                $scope.activeItem = false;
                $scope.refresh();
            });
    }

0 个答案:

没有答案