1

プロジェクトにkohana 2.xを使用しています。次のクエリを実行しました

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

上記のクエリを使用すると、table1 からデータをフェッチできますが、table2 からもデータをフェッチする必要があります。

$result->table2_column_name;

エラーが表示されます。table2 からデータを取得するにはどうすればよいですか。

4

1 に答える 1

2

あなたのステートメントはORMでもActiveRecordでもありません。Table1_Modelクラスを拡張するクラスがある場合は、ORM次を使用できますORM::factory('table1');。table2にもほぼ同じものが必要です。そして、クラスごとに、関係が宣言されている必要があります。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;
于 2012-04-19T06:47:59.653 に答える