【发布时间】:2020-05-10 00:34:12
【问题描述】:
我有 2 个模型。
表格 zen 显示用户的所有交易。
用户可以向其他用户汇款。
我想把昵称加入禅桌。
zen.js
'use strict';
module.exports = (sequelize, DataTypes) => {
const zen = sequelize.define('zen', {
from_user_id: DataTypes.BIGINT,
to_user_id: DataTypes.BIGINT,
zen_price: DataTypes.INTEGER,
}, {
underscored: true,
});
zen.associate = function(models) {
// associations can be defined here
};
return zen;
};
+--------------+------------+-----------+
| from_user_id | to_user_id | price |
+--------------+------------+-----------+
| 1 | 2 | 200 |
| 1 | 3 | 200 |
| 1 | 4 | 200 |
| 1 | 5 | 200 |
| 2 | 1 | 200 |
| 2 | 3 | 200 |
| 2 | 4 | 200 |
| 2 | 5 | 200 |
| 3 | 1 | 200 |
| 3 | 2 | 200 |
| 3 | 4 | 200 |
| 3 | 5 | 200 |
| 4 | 1 | 200 |
| 4 | 2 | 200 |
| 4 | 3 | 200 |
| 4 | 5 | 200 |
| 5 | 1 | 200 |
| 5 | 2 | 200 |
| 5 | 3 | 200 |
| 5 | 4 | 200 |
+--------------+------------+-----------+
user.js
'use strict';
module.exports = (sequelize, DataTypes) => {
const user = sequelize.define('user', {
nickname: DataTypes.STRING,
}, {
underscored: true,
paranoid: true
});
user.associate = function(models) {
// associations can be defined here
};
return user;
};
+----+----------+
| id | nickname |
+----+----------+
| 1 | umi |
| 2 | minato |
| 3 | haruto |
| 4 | rikuto |
| 5 | yamato |
+----+----------+
我写过这样的sql
select g.from_user_id, t1.nickname, g.to_user_id, t2.nickname from zens g inner join users t1 on g.from_user_id = t1.id inner join users t2 on g.to_user_id = t2.id;
结果是
mysql> select g.from_user_id, t1.nickname, g.to_user_id, t2.nickname from zens g inner join users t1 on g.from_user_id = t1.id inner join users t2 on g.to_user_id = t2.id;
+--------------+----------+------------+----------+
| from_user_id | nickname | to_user_id | nickname |
+--------------+----------+------------+----------+
| 1 | umi | 2 | minato |
| 1 | umi | 3 | haruto |
| 1 | umi | 4 | rikuto |
| 1 | umi | 5 | yamato |
| 2 | minato | 1 | umi |
| 2 | minato | 3 | haruto |
| 2 | minato | 4 | rikuto |
| 2 | minato | 5 | yamato |
| 3 | haruto | 1 | umi |
| 3 | haruto | 2 | minato |
| 3 | haruto | 4 | rikuto |
| 3 | haruto | 5 | yamato |
| 4 | rikuto | 1 | umi |
| 4 | rikuto | 2 | minato |
| 4 | rikuto | 3 | haruto |
| 4 | rikuto | 5 | yamato |
| 5 | yamato | 1 | umi |
| 5 | yamato | 2 | minato |
| 5 | yamato | 3 | haruto |
| 5 | yamato | 4 | rikuto |
+--------------+----------+------------+----------+
20 rows in set (0.00 sec)
如何编写关联并包含在函数 findAll 中
exports.findAll = (req, res) => {
console.log('**** findAll ****')
Zens.findAll({
})
.then(data => {
res.send(data);
})
.catch(err => {
res.status(500).send({
message:
err.message || "Some error occurred while retrieving tutorials."
});
});
}
提前感谢您。
【问题讨论】:
标签: sequelize.js