小编SUP*_*SER的帖子

错误:表上的删除违反了外键约束.密钥id仍然从表中引用(很多)

我正在使用Rails和PostgreSQL并且有一个基本的一对多关系,一个Auction有很多Bids.但是,当我尝试删除拍卖(有出价)时,我收到以下错误:

错误:表"update"上的更新或删除违反了表"bid"上的外键约束"fk_rails_43e9021cbf".详细信息:密钥(id)=(1)仍然从表"出价"中引用.

删除没有出价的拍卖会没有错误.

令我困惑的部分是在我的Auction模型中,我有:

has_many :bids, dependent: :destroy
Run Code Online (Sandbox Code Playgroud)

错误屏幕截图(better_error gem)

由于我有一个依赖的destroy子句,为什么我仍然会收到此错误?

编辑:我已经尝试删除整个数据库,然后重新创建/重新迁移所有内容 - 仍然得到相同的错误.

postgresql ruby-on-rails sublimetext2 better-errors-gem

40
推荐指数
4
解决办法
3万
查看次数

在javascript中使用相同的键合并对象

如果我有一个像这样的对象数组,我一直试图解决这个问题很长一段时间:

var my_array = [
    Object {Project: A, Hours: 2},
    Object {Project: B, Hours: 3},
    Object {Project: C, Hours: 5},
    Object {Project: A, Hours: 6},
    Object {Project: C, Hours: 9}
]
Run Code Online (Sandbox Code Playgroud)

我想将具有相同键的所有对象合并到一个对象中,以便将它们的小时数相加:

预期产量:

my_array = [
    Object {Project: A, Hours: 8}
    Object {Project: B, Hours: 3}
    Object {Project: C, Hours: 14}
]
Run Code Online (Sandbox Code Playgroud)

我该如何处理这个问题?我花了很长时间才能以这种方式格式化我的数据,这是最后一步!

我的尝试,我得到我循环数组,不知道如何处理对象的合并:

for (var i =0; i<my_array.length; i++) {
   my_array[i].Project   // access the object project key
   my_array[i].Hours     // need to increment hours
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays javascript-objects

4
推荐指数
1
解决办法
1150
查看次数