arrays - Ruby on Rails - 模型
问题描述
我有两张桌子,一张是客户端,另一张是被调用的。每张票与 1 位客户相关联。在客户端表中,我有父客户端,每个客户端都有自己的 ID,我也有子客户端,对于这些,我们在entities_id
列中定义了父客户端 ID。
我需要查询来自父客户端和子客户端的所有呼叫,但是来自子客户端的呼叫应该显示为好像来自父客户端一样,我该如何进行此查询?
解决方案
我的理解是
class Client
has_many :calls
has_many :child_clients, :class_name => 'Client',
belongs_to :parent_client, :class_name => 'Client'
end
class Call
belongs_to :client
end
我不明白你问题中的这一部分
“但是来自子客户端的呼叫应该像来自父客户端一样显示”
但这里可能有一些有趣的要求:
- current_client.parent_client.calls
- current_client.child_clients.map(:calls)
- Call.where(client_id: [current_client.parent_client_id, current_client.child_clients.map(&:id)].flatten)
附言:
你的问题不是很清楚,可能会好很多:
- 你可以直接插入你的图片
- 您谈论客户,但您的图像显示实体
- 你可以给我们一些模型定义而不是表格。
推荐阅读
- flutter - Flutter google_sign_in - 请求额外的范围
- kubernetes - pod java.lang.IllegalStateException 上的异常:未知协议:HTT
- javascript - 如何从输入字段中获取数据并使用警报功能打印?
- python - 从 Mask RCNN 结果中选择一个特定的掩码,r。过滤字典以仅保留 r['class_ids']==1 的键
- php - 为什么总是这个错误 Undefined variable $question
- apache-flink - Flink 对 hadoop 3.X 的支持
- extjs - 如何覆盖 AbstractForm?
- python - django - 预取一对多关系的特定项目
- matlab - 在 MATLAB 中使用 PixelList 获取 RGB 图像中的像素值
- debugging - 有什么方法可以在带有_DEBUG的调试模式下使用发布构建DLL?