- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我定义了两个模型:“部分”模型:
{
"name": "part",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"assemblies": {
"type": "hasAndBelongsToMany",
"model": "assembly",
"foreignKey": ""
}
},
"acls": [],
"methods": {}
}
和一个“组装”模型:
{
"name": "assembly",
"base": "PersistedModel",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {
"title": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {
"parts": {
"type": "hasAndBelongsToMany",
"model": "part"
}
},
"acls": [],
"methods": {}
}
两个模型都有 hasAndBelongToMany 关系。
在/server/boot/sample-model.js 中,我创建了这两个模型的一些实例:
module.exports = function(app){
var Dev = app.dataSources.dev;
var Customer = app.models.customer;
var Order = app.models.order;
var Part = app.models.part;
var Assembly = app.models.assembly;
Dev.automigrate(['customer', 'order', 'assembly', 'part'], function(err) {
Customer.create([
{name: 'nicolas'},
{name: 'marie'},
{name: 'cyril'}
], function(err, customers){
Part.create([
{name: 'boulon'},
{name: 'ecrou'},
{name: 'cheville'},
], function(err, part){
//console.log(part[0])
Assembly.create([
{title: 'piece1'},
{title: 'piece2'},
{title: 'piece3'},
], function(err, assemblies){
//console.log(assemblies[0])
assemblies[0].parts.add(part[0], function(err){
if(err){
console.log(err)
}
})
})
})
});
});
}
但是
assemblies[0].parts.add(part[0], function(err){
if(err){
console.log(err)
}
})
以错误结束:
{ [Error: ER_NO_SUCH_TABLE: Table 'database_development.assemblypart' doesn't exist]
code: 'ER_NO_SUCH_TABLE',
errno: 1146,
sqlState: '42S02',
index: 0 }
为什么 loopback 不在我的数据库中创建 assemblypart 表?
最佳答案
我曾经遇到过同样的问题,经过数小时的努力(使用 postgres 连接器),我找到了几个解决方案。
这是最短的:
代替:
Dev.automigrate(['customer', 'order', 'assembly', 'part'], function(err) {
// Your code here
});
尝试使用这个:
Dev.automigrate()
.then(function(err) {
// Your code here
});
我不知道为什么,但是在第二种情况下创建了联结表。
你能试试这个并告诉我它是否适合你吗?如果不是,您能否提供一些我可以检查并尝试运行您的代码的地方?
关于node.js - loopback hasandbelongstomany 关系表不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35948067/
我在用户和位置之间建立了 HABTM 关系。两种型号都有相应的 $hasAndBelongsToMany变量集。 当我管理用户位置时,我想删除用户和位置之间的关联,而不是位置。显然这个位置可能属于其他
这些 HasManyThrough 与 HasAndBelongsToMany 之间有什么区别?? https://docs.strongloop.com/display/public/LB/HasM
我与多态直通模型有相当复杂的关系。在应用程序中,有一个标签系统,可以在其中标记用户和另一个模型。为了避免重复的字符串条目,我使用了直通模型 (TagLink),其中包含标记 ID、标记模型名称和标记实
我有一个小问题。我正在制作一个有标签和问题的网站。我有一个 Question 模型、Tag 模型、QuestionsTag 模型,一切都很好地结合在一起。用户在询问某事时将标签放在由空格(foo ba
假设我在帖子和标签(更改域对象名称以保护无辜者)之间存在多对多关系(使用 ActiveRecord 属性 HasAndBelongsToMany),并且我想要一个类似 FindAllPostByTag
无论如何,我不太擅长 SQL,但我在使特定查询工作时遇到问题。 我有文件和图像作为表格。它们通过 archives_images 表连接。我有我想要的存档的 $id,并且我正在尝试对在 archive
CakePHP 等的新手,我对以下问题非常困惑,因此非常感谢任何指导。本质上,我在 hasAndBelongsToMany 关系方面遇到了问题,而且我不知道我是否在正确处理它,因为我在一个 Contr
我定义了两个模型:“部分”模型: { "name": "part", "base": "PersistedModel", "idInjection": true, "options":
我目前正在处理我的第一个 Loopbackjs 项目,并且面临一个看似简单的问题:假设我有一个模型“Post”和一个模型“Tag”。一个帖子拥有并属于多个标签。 现在我需要列出所有带有特定标签的帖子。
我在 Strongloop Loopback API 中有 2 个模型 产品 标签 我在这 2 个模型之间定义了一个 hasAndBelongsToMany 关系。在我的 CMS 中,我想为我的产品提
我在使用 uuid 时也尝试使用多态的 HasAndBelongsToMany 关系。我的问题是,我不能教 Strongloop 在必要的多对多表中将 id 与字符串一起用作类型而不是数字。这会在创建
我的数据库中有这些表,它们在 cakephp 中有相应的模型: 表主题:- 编号- 名称 表学术界:- 编号- 全名 表academics_topics(许多主题可以由许多讲师教授):- 编号- ac
我有一个相当复杂的问题要告诉你有关 Stackoverflow 的信息,你看我有三个表,我需要为应用程序定义它们之间的关联。这些表是:工程师、票证和测试用例。我需要在工程师和票证之间有一个 $hasM
我正在使用 Strongloop API 平台,更具体地说是 Loopback 来创建 API。 我已使用 Model2 添加了与 Model1 的 hasAndBelongsToMany 关系。 效
我是一名优秀的程序员,十分优秀!