如何获取Rails活动记录属性对应的SQL值
作者:互联网
如果我有一些activerecord对象,是否有办法在保存记录之前获取将插入数据库的相应SQL值?例如,如果有一列类型为datetime的列,那么它将被转换为某种字符串格式,并且还将对json属性进行序列化,因此是否有办法提前知道这些值?
解决方法:
我想我找到了:)
首先获取数据库的值,然后引用它.
假设我们有一个图书模型:Book(title,published_at,…)
book = Book.new(title: "Some title", published_at: Time.now)
value_for_database = book.instance_eval("@attributes")["published_at"].value_for_database
quoted_value = Book.connection.quote(value_for_database)
quoted_value现在包含我需要的sql值:)
标签:activerecord,ruby-on-rails,mysql 来源: https://codeday.me/bug/20191118/2025380.html