2012-04-23 32 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