mysql - 如何获取 rails 事件记录属性对应的 SQL 值

标签 mysql ruby-on-rails activerecord

如果我有一些 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 值 :)

关于mysql - 如何获取 rails 事件记录属性对应的 SQL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002082/

相关文章:

ruby-on-rails - 如何通过关联表从同一列获取多个条件的记录

mysql - 外键力独特

sql - 在 PostgreSQL 数据库中定期同步数据的最有效方法是什么?

ruby-on-rails - 在没有标签标签包装器的情况下获取国际化标签文本

ruby-on-rails - 在 Rails 中处理多个文件上传的最佳插件是什么?

ruby-on-rails - Rails 迁移 : is it ok to use 'nil' as the default value for a boolean field?

php - 如何获取表的主键?

php - 删除重复的 MySQL 查询结果?

php - 将来自数据库的 UTF-8 字符串与输入字符串进行比较 (PHP/SQL)

ruby-on-rails - 在 Parent 的节目中创建新的 Child