Model
scope :completed_at, select("(
SELECT goals.created_at
FROM goals
WHERE goals.user_id = users.id
ORDER BY goals.created_at
LIMIT 1
) as completed_at
")
Controller
@users = User.select("email, first, last, created_at").completed_at.order("created_at ASC").limit(1).all
Resulting SQL Query
SELECT email, first, last, created_at, (
SELECT goals.created_at
FROM goals
WHERE goals.user_id = users.id
ORDER BY goals.created_at
LIMIT 1
) as completed_at
FROM "users" ORDER BY created_at ASC LIMIT 5
Sample JSON Output
"user": {
"completed_at": "2011-06-07 15:04:56",
"created_at": "2010-01-01T06:00:00Z",
"email": "[email protected]",
"first": "Test",
"last": "User"
}
Note how created_at is coming out as UTC, but "completed_at" is coming out local time? Any idea why or how to get them to be the same format?
DATE_FORMAT