2012-04-23 31 views
1

我有一個有計算字段的模型。返回的值始終爲1上1在查詢硬編碼打開調試後:通過調試計算字段總是返回1 - atk 4.2

select `name` 
,(select `name` from `client` where `income`.`client_id` = `client`.`id`) 
`client`,`amount`,`date`,`comment`,1 `year`,`id` 
    from `income` 

返回

<?php class Model_Income extends Model_base_Income { 
    function init(){ 
     parent::init(); 
     $this->debug(); 
     $this->addField('year')->calculated(true); 
    } 
    function calculate_year(){ 
     return '22'; 
    } 
} 

查詢我使用ATK 4.2

回答

1

4.2做所以:

模型。

$this->add("Field_Expression", "year")->set("22"); 

或任何SQL查詢,而不是22

+0

偉大的作品,謝謝! – zadof 2012-04-23 20:39:50

+0

實際上它是$ this-> addExpression('year') - > set('22');但這只是一條捷徑。 – romaninsh 2012-04-23 21:48:44

+0

更多的信息在這裏: – romaninsh 2012-04-23 21:50:29