Rails使用SQL语句查询

##方法一:find_by_sql

返回对象数组

Article.find_by_sql("select * from articles join categories on 
articles.category_id=categories.id where articles.id=2")

结果:

[#<Article id: 2, user_id: 1, title: "111111111111", tags: "news,tag", content: "fdsafdsafdsafsfdsfsdfdsf", view_count: 5, star_count: 1, comments_count: 1, created_at: "2014-08-26 06:13:12", updated_at: "2014-08-26 06:13:12", source: "", category_id: 2>]

##方法二:connection.select_all

返回hash值

rs = Article.connection.select_all("select * from articles join categories on articles.category_id=categories.id where articles.id=2")

结果:

<ActiveRecord::Result:0x007f9554d102b8 @columns=
["id", "user_id", "title", "tags", "content", "view_count", "star_count", 
"comments_count", "created_at", "updated_at", "source",
 "category_id", "id", "name", "articles_count", "created_at", 
"updated_at"], @rows=[[2, 1, "111111111111", "news,tag", 
"fdsafdsafdsafsfdsfsdfdsf", 5, 1, 1, 
2014-08-26 17:18:15 +0800, 2014-08-26 17:18:15 +0800, "", 
2, 2, "新闻", 2, 2014-08-26 14:13:12 +0800, 2014-08-26 14:13:12 +0800]], 
@hash_rows=nil, @column_types={}> 

遍历:

rs.rows.each do |v|
  puts v["name"]
end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值