首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CActiveRecord嵌套

CActiveRecord嵌套
EN

Stack Overflow用户
提问于 2013-10-15 13:46:09
回答 1查看 104关注 0票数 0
代码语言:javascript
复制
class SomeModel extends CActiveRecord
{
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{some_table}}';
    }   

    public function getItemByParentId($parentId)
    {
        $criteria=new CDbCriteria;
        //some criteria

        return self::model()->findAll($criteria);
    }
}

当我从控制器SomeModel::model()->getItemByParentId($someVariable)调用它时,此方法工作正常。

但是现在我有3个非常类似于SomeModel模型的方法,所以我想把常用的方法放到一个类中

代码语言:javascript
复制
class CommonModel extends CActiveRecord
{
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function getItemByParentId($parentId)
    {
        $criteria=new CDbCriteria;
        //some criteria

        return self::model()->findAll($criteria);
    }
}

class FirstModel extends CommonModel
{
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{first_table}}';
    }
}

class SecondModel extends CommonModel
{
    public static function model($className=__CLASS__)
    {
        return parent::model($className);
    }

    public function tableName()
    {
        return '{{second_table}}';
    }
}

但要犯错误

在数据库中找不到活动记录类"CommonModel“的表"CommonModel”。

怎么啦?

EN

回答 1

Stack Overflow用户

发布于 2013-10-15 14:17:35

试着改变:

公共函数getItemByParentId($parentId) { $criteria=new CDbCriteria;//某些条件返回静态::model()->findAll($criteria);}

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

https://stackoverflow.com/questions/19382877

复制
相关文章

相似问题

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