gpt4 book ai didi

mysql - 在 created_at 列的日期范围内跟踪外键的唯一性

转载 作者:行者123 更新时间:2023-11-30 22:42:16 27 4
gpt4 key购买 nike

在 created_at 列的日期范围内确定外键的唯一性

validates :test_id, :uniqueness => { :scope => Date(:created_at)} 

上面的代码不会工作。但是,我需要类似的东西来使用 Date(:created_at) 验证外键的唯一性。

最佳答案

您将需要编写自定义验证,使用内置的唯一性验证器无法做到这一点。

这个既可以创建新条目,也可以保存现有条目(通过使用现有的 created_at 如果它存在,否则我们回退到 Date.current 这是获取“今天”的时区感知方式:

validate :check_test_id

def check_test_id
date = ( created_at || Date.current ).to_date
if self.class.exists? ["DATE(created_at) = DATE(?) AND test_id = ?", date, test_id]
errors.add :test_id, "is not unique for #{date}"
end
end

关于mysql - 在 created_at 列的日期范围内跟踪外键的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30803561/

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