新手问题 关于 join 的问题

w353284782 · 2012年08月30日 · 最后由 w353284782 回复于 2012年08月30日 · 2197 次阅读

小弟最近有遇见问题了,具体如下:

我有两张表 message(消息表) user(用户表) message 表中有3个字段 user1_id(发信息用户ID)user2_id(收信息用户ID)info(内容) user 表 中一个name(用户名)字段 请问一下在rails中用户joins能否将2张表连接起来 查询message 的时候将user的名称也能查出来?

还有就是 我用过find_by_sql如果是是

Message.find_by_sql("select users.name from users INNER JOIN messages ON messages.users1_id = users.id") 

这样的话查出来的全是Message的空对象!

SOS!😭

共收到 3 条回复

messages = Message.find_by_sql("select messages.*,user1.name as user1_name,user2.name as user2_name from messages left join users user1 on(user1.id = messages.user1_id) left join users user2 on(user2.id = messages.user2_id) ",:conditions=>["messages.user1_id = ?",1]) 手敲的,不保证语法对不对 messages.first.user1_name #=>"你要的名字" messages.first.user2_name #=>"呵呵,这是user2表的"

mysql我忘了messages.*是不能再select参数的最后还是前面,忘了,不过记得这里有一个语法的错误

#2楼 @help5305fff 好的 成功!谢谢!

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册