【发布时间】:2023-03-11 23:24:02
【问题描述】:
我有两个相互关联的模型,如下所示。
class Comment < ApplicationRecord
belongs_to :user
end
class User < ActiveRecord::Base
has_many :comments
end
以下记录查询
comments_list = Comment.where(:post_id => post_id, :is_delete => false).joins(:user).select('comments.*,users.*')
在 logger 中生成以下 mysql 查询
SELECT comments.*,users.* FROM `comments` INNER JOIN `users` ON `users`.`id` = `comments`.`user_id` WHERE `comments`.`post_id` = '81' AND `comments`.`is_delete` = 0.
这似乎生成了非常合法的查询,但 cmets_list 对象仅包含 cmets 表中的列。
谢谢
【问题讨论】:
标签: mysql ruby-on-rails ruby activerecord