Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提取自动递增id_Javascript - Fatal编程技术网

Javascript 提取自动递增id

Javascript 提取自动递增id,javascript,Javascript,我有这个密码 $scope.hold = {}; $scope.save = function (){ var data = { parent_id: $scope.hold.id, //-->This is an auto generated id. name: $scope.hold.some_name, address: $scope.hold.address, dependent = {

我有这个密码

$scope.hold = {};

$scope.save = function (){
    var data = {
        parent_id: $scope.hold.id, //-->This is an auto generated id.
        name: $scope.hold.some_name,
        address: $scope.hold.address,
        dependent = {
                     parent_id: $scope.hold.id, //--> This is equal to the id above. 
                     child_name: $scope.hold.child_name,
                     child_age: $scope.hold.child_age
        }
    }
myService.saveData(data, function(){
})
}
现在,我无法获取自动递增的id,我也无法记录它。它返回undefined。从哪里我犯了错误?我如何才能获得我的自动递增id?这是为了在api中实现我的查询

var数据中的
相关
将保存到另一个模型中,该模型的外键为该
id

如何提取自动递增的
id
(父表),以便将其初始化为孩子的
id
(从属表),以便执行单个httppost方法

表格设计(样本)

**父表**
家长id |姓名|地址
1 | john | place

**依赖表**
依亲身份|父母身份|姓名|年龄

2 | 1 | james | 7

代码的问题在于您正在创建的JSON对象

应该是这样的

var data = {
    id : $scope.hold.id, //-->This is an auto generated id.
    name : $scope.hold.some_name,
    address : $scope.hold.address,
    dependent : {
                 id:$scope.hold.id, //--> This is equal to the id above.
                 child_name:$scope.hold.child_name,
                 child_age:$scope.hold.child_age
    }
}
片段

var-app=angular.module('app',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.hold={};
$scope.hold.id=Math.floor((Math.random()*10)+1);
$scope.save=函数(){
风险值数据={
id:$scope.hold.id,//-->这是一个自动生成的id。
名称:$scope.hold.some\u名称,
地址:$scope.hold.address,
从属:{
id:$scope.hold.id,//-->这等于上面的id。
child\u name:$scope.hold.child\u name,
儿童年龄:$scope.hold.child\u年龄
}
}
警报(data.dependent.id);
}
});

安古拉斯普朗克
文件。写(“”);
动态ID{{hold.ID}

单击此处保存
换一种方式怎么样

职能人员(姓名、年龄)
{
这个._id=Math.round(Math.random()*8999+1000);
这是。_name=name | | null;
这个。|年龄=年龄| | 0;
此地址为空;
此参数为._dependent=null;
}
Man.prototype.getId=函数()
{
返回此。\u id;
}
Man.prototype.getName=函数()
{
返回此。\u名称;
}
Man.prototype.setName=函数(名称)
{
这个。_name=name;
归还这个;
}
Man.prototype.getAge=函数()
{
把这个还给我;
}
Man.prototype.setAge=功能(年龄)
{
这个。_年龄=年龄;
归还这个;
}
Man.prototype.getAddress=函数()
{
返回此地址;
}
Man.prototype.setAddress=函数(地址)
{
这个地址=地址;
归还这个;
}
Man.prototype.getDependent=函数()
{
返回此项。\u依赖于;
}
Man.prototype.isDependent=函数()
{
返回此值。\u依赖?true:false;
}
Man.prototype.setDependent=函数(依赖)
{
这个._dependent=dependent;
归还这个;
}
Man.prototype.logInfo=函数()
{
console.log('id:'+this.\u id);
console.log('name:'+this.\u name);
log('age:'+(this.age>0?this.age:'-');
log('address:'+(this.\u address?this.\u address:'-');
log('dependent:'+(this._dependent?this._dependent.getId():'no');
}
var Jane=新人('Jane',41岁);
Jane.setAddress(“纽约奇迹街5号”);
var Max=新员工('Max',20);
Max.setAddress(Jane.getAddress()).setDependent(Jane);
Jane.logInfo();

Max.logInfo()
是否定义过$scope.hold.id
?我看不到代码中有任何地方您在给它赋值,因此它是
未定义的
。我真的不明白您想做什么<代码>$scope.hold
在您的情况下为空对象。因此,
data.id
未定义的
,因为
$scope.hold.id
也是
未定义的
。如果你想让数据成为对象,你需要这样写:
var data={id:something,name:other_value…}
对不起,
$scope.hold
就是我在html绑定中使用的那个。@SpencerWieczorek就是这样,先生。我的意思是,如何使用我的自动递增id(在数据库中递增)来定义我的
$scope.hold.id
。这是一个很好的方法,先生。然而,这可能不符合我上面的要求。很抱歉,我想我把上面的问题弄糊涂了。检查一下这个plunker,它会让您了解我上面的建议。它将用于预测存储数据的表的下一个记录id。您可以使用此方法设置data.dependent.idies的值,这就是方法,但请确保您的应用程序未被多个用户并发访问,此方法对并发操作无效。是的,这应该不是问题,只需将两个调用都置于事务下,如果其中一个失败,则将两个调用都回滚。这将保持数据完整性,系统将正常工作。很高兴我能提供帮助,如果答案有助于您实现此问题中的目标,您可以标记为完整答案。