Rymn
Rymn

Reputation: 186

Cakephp Conditions Between Times or if time column is not a time

I have a table I need to pull records from if the row is between certain times. But some of the times are UFN(until further notice). How can I get cakephp to ignore the 'end' time if the end time is a string and not a time? Would it be easier if I force the user to keep the 'end time' blank if they want to display UFN?

Thanks in advance

EDIT: The project I'm working on is sensitive so I can't post any of the actual code, but here's an example.

$this->Event->find('all', array(
    'conditions' => array(
        'Event.active_start <' => date('Y-m-d H:i:s', strtotime($date . " +31 minutes")),
        'Event.active_stop >' => $date,
        'Event.id >' => $id,
    ),
    'order' => 'Event.active_start',
    'group' => 'Event.id'
            )
        );

Event.active_start is always a datetime, but Event.active_stop can be a datetime or a string, usually 'UFN'.

This query is not pulling any rows that are strings.

Upvotes: 0

Views: 145

Answers (1)

Salines
Salines

Reputation: 5767

  1. Make 'Event.active_stop' as DATETIME field, allow to be empty.
  2. Before save check if datetime format, if not unset($string)
  3. After find (callback) if active_stop is empty field, return string 'UFN'

Upvotes: 1

Related Questions