Inheritance in kohana

Posted

技术标签:

【中文标题】Inheritance in kohana【英文标题】: 【发布时间】:2010-06-02 14:53:13 【问题描述】:

我最近开始使用 Kohana,我知道继承目前处于起步阶段。解决方法是在子类模型上使用 $_has_one 注释。在可能的情况下,我将“页面”作为“文章”的父级。我有类似的东西,

protected $_has_one = array('mypage'=>array('model'=>'page', 'foreign_key'=>'id'));

在我的控制器中,我有一个查询数据库的操作。在此查询中,我试图从“文章”的父级(即“页面”)访问字段。

    $n->articles=ORM::factory('article')->where('expires','=',0)
        ->where('articledate','<',date('y-m-d'))
        ->where('expirydate','>',date('y-m-d'))
        ->where('mypage->status','=','PUBLISHED')
        ->order_by('articledate','desc')
        ->find_all();

状态列位于页表中,我的查询正在生成“找不到状态”的错误,显然是因为它属于父级。

有什么想法吗?

【问题讨论】:

【参考方案1】:

也许可以像这样使用 with

    $n->articles=ORM::factory('article')->with('mypage')
    ->where('expires','=',0)
    ->where('articledate','<',date('y-m-d'))
    ->where('expirydate','>',date('y-m-d'))
    ->where('status','=','PUBLISHED')

这会在两个一对一的表之间创建连接。

【讨论】:

以上是关于Inheritance in kohana的主要内容,如果未能解决你的问题,请参考以下文章

[TypeScript] Sharing Class Behavior with Inheritance in TypeScript

[ClassCastException in Inheritance-Why?

[20-05-04][Thinking in Java 6]Java Inheritance 4 - Upcasting

[20-05-04][Thinking in Java 4]Java Inheritance 2 - Proxy

Simple JavaScript Inheritance[转]

Inheritance: For Good or For Worse