gpt4 book ai didi

ruby - 来自自定义 sql 查询的 activerecord 类

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:30 25 4
gpt4 key购买 nike

是否可以从自定义 sql 查询或 View 创建 activerecord 类?它不需要是可编辑的。示例:

class c
select a.*, b.* from a, b where a.code = b.code
end

此示例是一个连接,其中重新发送两个表中的所有字段,activerecord 中的一对一连接仅显示一个表中的字段,其他可通过 a.bs.fieldname 访问。我希望它们都是同一级别的字段,因此属于一个类。

这样 a.code、a.name 和 b.code、b.extra 就可以像 c.code、c.name、c.extra 一样访问

最佳答案

ActiveRecord 将像处理表一样处理您的 View 。因此,首先为您的事物创建自定义 View

CREATE VIEW some_things AS (select a.*, b.* from a, b where a.code = b.code)

然后创建基于 ActiveRecord 的类来访问它们 (app/models/some_thing.rb)

class SomeThing < ActiveRecord::Base
end

您可以像访问任何其他 AR 对象一样访问您的东西

p SomeThing.where(code: 'xxx-yyy').order(:name).limit(10).all

关于ruby - 来自自定义 sql 查询的 activerecord 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23913995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com