使用经典友谊示例,我可以查询其他用户有这样的朋友的用户:
super.paintComponent(g)
但是有没有一种优雅的方式来抓住相反的关系?目前查询:
User.first.friends
从多个表中返回一个类似于下面的选择(下面的模型和模式代码):
User.first.friendships
我是否有一种优雅的方式可以为拥有用户1的用户抓取所有用户记录?就此而言,是否有一个查询可以从用户1的友情中获取所有用户记录?
Schema.rb:
+---------+-----------+
| user_id | friend_id |
+---------+-----------+
| 1 | 2 |
| 1 | 3 |
+---------+-----------+
模特关系:
create_table "friendships", id: false, force: :cascade do |t|
t.integer "user_id"
t.integer "friend_id"
end
create_table "users", force: :cascade do |t|
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
答案 0 :(得分:1)
我是否有一种优雅的方式来获取所有用户记录 有用户1的朋友?
将app.get('/users', function(req, res) {
modelM.find({}, 'name', function(err, users) {
if(err) throw err;
res.send(users);
});
});
与关联条件一起使用:
.joins
就此而言,是否有一个查询可以让我所有的用户 用户1的友情记录?
User.joins(:friendships)
.where(friendships: { friend_id: 1 })