【问题标题】:How to fetch columns from joined table in Kohana 2.x如何从 Kohana 2.x 中的连接表中获取列
【发布时间】:2012-04-19 06:34:36
【问题描述】:

我正在为我的项目使用 kohana 2.x,我有以下查询

 $result = ORM::factory('table1')
                        ->join('table2','table1.id','table2.id')
                        ->find_all();

使用上面的查询我可以从 table1 中获取数据,但我也需要从 table2 中获取数据。当我这样给出时

$result->table2_column_name;

显示错误,如何从table2中获取数据。

【问题讨论】:

    标签: php kohana kohana-orm


    【解决方案1】:

    您的语句既不是 ORM 也不是 Active Record。如果您有一个扩展ORM 类的Table1_Model 类,那么您可以使用ORM::factory('table1'); 对于table2,您也需要几乎相同的东西。并且对于每个类都应该声明关系。 Getting Started with ORM

    生成的模型将是,

    class Table1_Model extends ORM {
        protected $has_one = array('table2');
    }
    
    class Table2_Model extends ORM {
        protected $has_one = array('table1');
    }
    

    现在可以这样查询了,

    $result = ORM::factory('table1', 1);
    echo $result->table1_column_name;
    echo $result->table2->table2_column_name;
    

    【讨论】:

    • 它现在正在工作,感谢您的回答。除了 Kohana 自己的文档之外,我在哪里可以找到学习 Kohana ORM 的文档
    • Kohana 2x 有一个小型社区。所以我没有发现任何有用的东西。文档非常好。还尝试通过 phpdoc 或其他东西从 kohana 源生成文档。这将是一个很好的 api 文档来源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    相关资源
    最近更新 更多