Вы пробовали метод find()
, передавая пользовательскую опцию fields
?
$this->Lapse->find('all', array(
'fields' => array('sum(unix_timestamp(stop) - unix_timestamp(start)) as elapsed_time'),
'conditions' => array('Lapse.id' => $lastId),
));
Возвращенный массив красивее, чем тот, который вы получаете, хотя он не красивее, чем elapsed_time
, являющийся фактическим свойством модели.
Другим решением было бы установить elapsed_time
как виртуальное поле внутри модели:
class Lapse extends AppModel {
...
public $virtualFields = array(
'elapsed_time' => 'sum(unix_timestamp(Lapse.stop) - unix_timestamp(Lapse.start)',
);
...
}
Тогда elapsed_time
действует как свойство модели и будет возвращаться как $updateVal['Lapse']['elapsed_time']
при каждом вызове find()
.