Rails通过组合字段进行自定义连接



我有两个型号,PotentialClientClientPotentialClientClient具有非唯一字段:mindbody_id,并且Client还具有唯一字段:unique_mb,其等于"#{location_id}{mindbody_id}",使得该字段是唯一的。:location_id也存在于PotentialClient上,但:unique_mb不存在。

有没有办法通过:unique_mb连接PotentialClientClient,因为它存在于Client上,并且PotentialClient具有生成字段所需的所有信息?

我很确定您的:unique_mb字段不能保证是唯一的。你最好把它们放在两个不同的领域,而不是试图制造出你自己独特的两者组合。

由于您还没有给出打算如何使用它的示例,我假设当您说要加入他们时,您实际上只是在为给定的Client寻找匹配的PotentialClient记录?

在这种情况下,你可以这样做:

@client = Client.find(params[:id]) # or however you're finding your Client record
@potential_clients = PotentialClient.where(location: @client.location, mindbody: @client.mindbody)

如果这不是你想要的,那么提供一个更详细的例子来说明你正在努力实现的目标,显示你迄今为止尝试过的代码以及你收到的任何错误将是非常有用的。

最新更新