两个型号的数据库表相同
Same db table for two models
是否可以为一个数据库表建模(客户端,供应商)?我制作了一个合作伙伴模型,它使用合作伙伴表。我的客户和供应商模型继承自合作伙伴模型。
http://localhost:3000/api/partners
返回数据库表中的所有数据,但是
http://localhost:3000/api/vendors
没有任何结果。
供应商和客户几乎相同,只是它们的类型和另外两个属性不同。我想让表中的所有记录都partner
端点中的类型为"vendor"
http://localhost:3000/api/vendors
以及所有具有 client
型的合作伙伴
http://localhost:3000/api/clients
(http://localhost:3000/api/partners
应隐藏)
编辑型号/供应商.js
{
"name": "vendor",
"base": "partner",
"strict": false,
"idInjection": false,
"options": {
"validateUpsert": true,
"postgresql": {
"table": "partner"
}
},
...
}
重新启动服务器后,我仍然得到:
{
"links": {
"self": "http://localhost:3000/api/vendors"
},
"data": []
}
在资源管理器中,我可以看到partner
的属性vendor
的模型模式
是的。您只需要更新模型配置文件上的选项以指向特定表。确保仅标识每个模型中与该模型(而不是另一个模型)相关的属性,然后可以在保存之前手动注入type
:
在common/models/partner.json
和common/models/vendor.json
:
...
"options": {
"mysql": {
"table": "partner"
}
}
...
然后在每个模型的 JS 文件中添加一个 before save
钩子(common/models/vendor.js
):
module.exports = function(Vendor) {
Vendor.observe('before save', function(ctx, next) {
ctx.instance.type = 'vendor';
next();
});
};
相关文章:
- 如何基于两个下拉选择从数据库中检索数据
- 如何比较两个MySql数据库
- 通过 ajax POST 向 PHP 发送两个值以查询 SQL 数据库
- 两个服务器可以访问一个公共的mongoDB数据库吗?
- 使用数据库中的两个变量在jqplot中显示图形
- 如何使用 AJAX 根据两个下拉列表的值从数据库中检索数据
- 引导数据库数据切换在同时使用两个标签时不使用 href #home 选项卡
- 索引数据库中的两个查询
- 两个型号的数据库表相同
- 在不提交表单的情况下,在两个texbox中比较mysql数据库中的值
- 如何防止php中两个独立的ajax调用修改同一个数据库
- Node JS航行两个不同的数据库
- 使用PHP从MySql数据库中选择两个日期之间的记录
- 使用两个单独的按钮在数据库表中进行条件更新
- 基于数据库中的两个值的动态图像显示
- 仅在完成两个MongoDB数据库查询时呈现页面
- 在同一域的两个不同的离线web应用程序中创建/访问indexedDB使用相同的数据库
- 两个流星应用程序在一个数据库上的性能
- 我如何能够发布一个图像和'两个文本区域值数据库同时使用AJAX和PHP
- 测试是否至少选中了两个复选框,然后将值插入数据库