ruby-on-rails - ActiveRecord 表别名

标签 ruby-on-rails database activerecord join

有谁知道是否可以通过某种方式为 ActiveRecord 表连接设置别名?

类似于:

User.find(:all, :alias => "Users as u", :joins => "Friends as f", :select => "u.id,f.name")

有什么想法吗?

最佳答案

是的,但如果覆盖连接,则需要包含“ON”语句和连接语句。

User.find(:all, :joins => " as u INNER JOIN Friends as f ON f.user_id = u.id", :select => "u.id,f.name")

或者在 Rails 3+ 中

User.joins("as u INNER JOIN Friends as f on f.user_id = u.id")
    .select("u.id, f.name")
    .all

关于ruby-on-rails - ActiveRecord 表别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3233391/

相关文章:

activerecord - Rails ActiveRecord::Migration index:true和add_index之间有什么区别?

ruby-on-rails - 如何在 acts_as_votable 中提取投票最高的模型实例?

javascript - 如何从 javascript 渲染部分内容

ruby-on-rails - 如何使用 Capybara 在 Rails date_field 表单助手中选择日期

ruby-on-rails - Rails 7 - render_to_string - MissingTemplate

mysql - SQL 语句显示来自 3 个表的数据

database - 如何将图形数据存储在数据库中?

python - 如果行包含 DD/MM/YY 打印行中的日期

unit-testing - Yii2 ActiveRecord 用 Mockery 进行模拟

ruby-on-rails - ActiveRecord 模型的保留名称