ROR新手,控制台上的问题,以及访问带有多个where子句的表上的数据



rails新手,在解决问题时遇到问题。如有任何帮助,我们将不胜感激。试图弄清楚如何获得以下数据。

我有以下表格

users表(所有用户及其工作的公司(:id用户名company_id

客户表(客户及其所属公司的列表(:idcompany_id

Mapping_user_to_client表(用户在哪个客户端上使用的表(:iduser_idclient_id

我能够在用户级别创建一个列表,显示用户工作的客户端。我遇到的问题是,我试图创建一个用户工作的公司的客户端列表,但该列表不是当前分配给用户的。

根据我在其他示例中看到的内容,我一直在尝试构建查询is rails控制台,类似于:Client.where(agency_id:1(,MappingUserToClient.where.not(user_id:2(。但这不起作用。我确信我做错了什么。如果有任何帮助或为我指明正确的方向,我将不胜感激。

谢谢!!!!

我假设您在Client模型中与MappingUserToClient有关联。即

class Client < ApplicationRecord
has_many :mapping_user_to_clients
end

然后您可以运行以下操作,它将返回agency_id1的所有客户端以及未分配给user_id2 的客户端

Client.joins(:mapping_user_to_clients)
.where(agent_id: 1)
.where.not('mapping_user_to_clients.user_id': 2)

相关内容

  • 没有找到相关文章

最新更新