Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the raw 'created_at' value in the database (not an object cast to an ActiveSupport::TimeWithZone)

Imagine I have a Post Model.

and one record in the database will be:

23|title_here|content_here|2011-02-20 08:01:55.583222|2011-02-20 08:01:55.583222 

and the last two field (2011-02-20 08:01:55.583222|2011-02-20 08:01:55.583222 ) are the created_at and updated_at field.

Then,

post = Post.find_by_id(23) 

Question: How can I get the created_at string: "2011-02-20 08:01:55.583222" in the data base?

As we know, the post.created_at will return a ActiveSupport::TimeWithZone object, not the raw string.

Please help :)

like image 916
Croplio Avatar asked Feb 20 '11 10:02

Croplio


1 Answers

use attributes_before_type_cast

Post.find(23).attributes_before_type_cast["created_at"] 

or

Post.find(23).read_attribute_before_type_cast("created_at") 

Edit

You can call like this also:

Post.find(23).created_at_before_type_cast 

according to Accessing attributes before they have been typecasted.

like image 168
rubyprince Avatar answered Sep 22 '22 05:09

rubyprince