数据库
首页 > 数据库> > 如何获取Rails活动记录属性对应的SQL值

如何获取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