首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >敏捷工具包addExpression和DSQL

敏捷工具包addExpression和DSQL
EN

Stack Overflow用户
提问于 2012-08-27 05:01:49
回答 1查看 255关注 0票数 0

我一直在关注敏捷工具包提供的这本书,并在此部分:http://agiletoolkit.org/learn/app/logic

不幸的是,dsql api缺乏一些清晰度,该页面上的计算字段示例无法正常工作。

我尝试使用:

代码语言:javascript
复制
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

现在我不确定如何正确地创建它;我知道下面的工作,但我有点像是在我走的时候虚构出来的,不知道为什么它工作,为什么我需要count() -等等。

如何开始计算字段的工作?有没有人可以在这个例子中解释一下,我通过例子学得最好,所以我想坚持到底。

我不理解的工作代码:

代码语言:javascript
复制
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'));
    }
}

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-28 10:15:37

DSQL应用程序教程适用于Agile Toolkit 4.1。

请观看截屏视频http://youtube.com/theagiletoolkit,以获得更新和更广泛的教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12133890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档