Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从Kohana 2.x中的联接表中获取列_Php_Kohana_Kohana Orm - Fatal编程技术网

Php 如何从Kohana 2.x中的联接表中获取列

Php 如何从Kohana 2.x中的联接表中获取列,php,kohana,kohana-orm,Php,Kohana,Kohana Orm,我在我的项目中使用kohana 2.x,我有以下疑问 $result = ORM::factory('table1') ->join('table2','table1.id','table2.id') ->find_all(); 使用上面的查询,我可以从表1中获取数据,但我也需要从表2中获取数据 $result->table2_column_name; 它显示错误,如何从表2中

我在我的项目中使用kohana 2.x,我有以下疑问

 $result = ORM::factory('table1')
                        ->join('table2','table1.id','table2.id')
                        ->find_all();
使用上面的查询,我可以从表1中获取数据,但我也需要从表2中获取数据

$result->table2_column_name;

它显示错误,如何从表2中获取数据。

您的语句既不是ORM也不是活动记录。如果您有一个扩展了
ORM
类的
Table1_Model
类,那么您可以使用
ORM::factory('Table1')对于表2,您也需要几乎相同的东西。对于每个类,都应该声明关系

生成的模型将是

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 ORM的文档,而不是Kohana自己的文档Kohana 2x有一个小型社区。所以我没有发现任何有用的东西。文档很好。还可以尝试通过phpdoc或其他方式从kohana源代码生成文档。这将是一个很好的api文档源。