0
我一直由敏捷工具包在這個部分中和我的書以下內容: http://agiletoolkit.org/learn/app/logic敏捷工具包addExpression和DSQL
不幸的是,DSQL API缺少一些清晰度和網頁上的計算字段例子只是不工作。
我試着使用:
class Model_DVD extends Model_Table {
public $table='dvd';
function init(){
parent::init();
$this->hasOne('Movie');
$this->addField('code');
$this->addfield('is_rented')
->type('boolean')
->calculated(true);
}
function calculate_is_rented(){
return $this->add('Model_Rental')
->dsql()
->field('id')
->where('rental.dvd_id=dvd.id')
->where('is_returned!=','Y')
->select()
;
}
}
這將返回每一次,所以我試圖按照1: Calculated field always returns 1 - atk 4.2
現在我不知道如何正確地創建這一點;我知道下面的工作,但我有點做了它,因爲我去了,沒有想法,爲什麼它的工作,以及爲什麼我需要計數() - 等等等
如何讓計算的字段工作?有人可以在這個例子中解釋它,我通過例子學得最好,所以我想跟隨它。
我的工作代碼,我不明白:
class Model_DVD extends Model_Table {
public $table='dvd';
function init(){
parent::init();
$this->hasOne('Movie');
$this->addField('code');
$this->debug();
$this->addExpression('is_rented')->set($this->add('Model_Rental')
->addCondition('dvd_id', $this->_dsql()->getField('id'))
->count()
->where('is_returned!=','Y'))
->datatype('boolean')
->enum(array('Y', 'N'));
}
}
謝謝!