gpt4 book ai didi

ruby-on-rails - has_many 条件或 proc 外键

转载 作者:行者123 更新时间:2023-12-04 02:52:16 27 4
gpt4 key购买 nike

我在两个模型之间有一个 has_many 关联,使用日期作为每个模型的外键和主键。

它以一种方式完美运行,但以另一种方式运行不佳。

作品

has_one :quiz_log, :primary_key => :start_at, :foreign_key => :start_at

没用

has_many :event_logs, :primary_key => :start_at, :foreign_key => :start_at 

原因是(我认为)因为 QuizLog 上的 start_at 是一个date,而 EventLog 上的 start_at 是一个datetime。所以它返回 nil 试图匹配一个简单日期的确切日期时间。

我如何在第二条语句上转换 foreign_key start_at 以首先将其从 datetime 转换为简单的 date 以便它匹配第二个模型?

最佳答案

我不确定你是否可以在不使用 finder_SQL 的情况下做到这一点,但这应该可行。

has_many :event_logs, :finder_sql => proc { 
"SELECT * FROM event_logs WHERE DATE(event_logs.start_at) = '#{start_at}'"
}

关于ruby-on-rails - has_many 条件或 proc 外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436829/

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