首页 > 解决方案 > 我可以直接查询连接表以获取关联的“created_at”日期吗?

问题描述

我有一个Member模型和一个Tag模型。它们具有使用 activerecord 关联建立的多对多关系。结果,members_tags我的架构中反映了一个简单的连接表。默认情况下,此表有一created_at列。我希望访问此信息以查看将标签应用于成员的日期时间。这可能吗?

标签: ruby-on-railspostgresqlactiverecordmany-to-many

解决方案


由于您在MemberTag之间有many to many关系,因此您将拥有一个连接模型ModelTagTagModel取决于您如何命名它)。当您创建连接表(或)时,您也可以访问该列。model_tagstag_modelscreated_at

假设您有一个 ModelTag 模型。您可以访问其任何实例created_at列,例如:

ModelTag.first.created_at

如果要访问所有实例的 created_at 列:

ModelTag.all.map {|mt| mt.created_at}

不知道是不是你想要的?


推荐阅读