It's best for MySQL performance to avoid stuff that uses functions on column values. For example,
WHERE DATE(time_stamp) = CURDATE() /* slow! */
completely defeats the use of an index to look up records by time_stamp. It causes a full-table scan, which works correctly but slowly. What you want is an SQL expression that will generate an index range scan. This does that, for all time_stamp values since midnight of today's date.
WHERE time_stamp >= CURDATE()
If you want to find all the time_stamp values from yesterday, you need this SQL statement
WHERE time_stamp >= CURDATE() - INTERVAL 1 DAY
AND time_stamp < CURDATE()
That is, you want all the time stamps in the range [yesterday midnight, today midnight), which range excludes today midnight.
I think your Idiorm code has the CURDATE() - INTERVAL 1 DAY
expression wrong. CURDATE() - 1
works in Oracle, but not in MySQL.