Фильтры - ваш лучший друг в этом случае. Ниже вы можете найти пример, как их использовать:
public function filters()
{
return array(
// Trim all fields
TRUE => array(
array('trim'),
),
// Your callback function
'your_column' => array(
array(array($this, 'your_callback'))
),
);
}
public function your_callback($value)
{
return strtotime($this->date . ' ' . $this->time);
}
Этот фильтр установит your_column
в strtotime($this->date . ' ' . $this->time)
- конечно, это только пример. Помните, что фильтры вызываются до проверки.
EDIT:
После обдумывания я бы создал специальный метод для создания:
public function create_($values, $expected)
{
$values['your_column'] = $values['date'] . ' ' . $values['time'];
values($values, $expected);
// Create the object
return $this->create();
}
Конечно, когда вы вызываете этот метод, не передавайте date
и time
в массиве $expected
, но your_column
:
ORM::factory('event')->create_($_POST, array('title','venue','your_column', 'guest_count', 'contact_name', 'contact_number','bartab','dj'));