rails 上的 ruby 中的所有列加入
All columns in join in ruby on rails
class Category < ActiveRecord::Base
has_many :articles
end
class Article < ActiveRecord::Base
belongs_to :category
has_many :comments
has_many :tags
end
Category.joins(:articles)
在 rails 等价于
SELECT categories.* FROM categories
INNER JOIN articles ON articles.category_id = categories.id
如果我想要 rails-代码等效于 sql
SELECT * FROM categories
INNER JOIN articles ON articles.category_id = categories.id
我该怎么办?
尝试使用select
方法
categories = Category.select('*').joins(:articles)
categories.first.some_column_from_articles
Category.select('*').joins(:articles)
或
categoyes = Category.select('*').includes(:articles)
和
categoyes.each do |category|
puts category.articles
end
我用这个方法
Category.connection.select_all("SELECT * FROM categories
INNER JOIN articles ON articles.category_id = categories.id").to_a
class Category < ActiveRecord::Base
has_many :articles
end
class Article < ActiveRecord::Base
belongs_to :category
has_many :comments
has_many :tags
end
Category.joins(:articles)
在 rails 等价于
SELECT categories.* FROM categories
INNER JOIN articles ON articles.category_id = categories.id
如果我想要 rails-代码等效于 sql
SELECT * FROM categories
INNER JOIN articles ON articles.category_id = categories.id
我该怎么办?
尝试使用select
方法
categories = Category.select('*').joins(:articles)
categories.first.some_column_from_articles
Category.select('*').joins(:articles)
或
categoyes = Category.select('*').includes(:articles)
和
categoyes.each do |category|
puts category.articles
end
我用这个方法
Category.connection.select_all("SELECT * FROM categories
INNER JOIN articles ON articles.category_id = categories.id").to_a