2012-03-22 14 views
0

私は単純な投稿システムを使用して、ブログ投稿に特殊フィールドを追加することができます(wordpressのcustom fieldsのようなもの)。ここに私のモデルは以下のとおりです。今のところ関連する行を自動的に読み込みます

、私はfactory()Nodeモデルをロードしていたとき、私は私のNodeに関連するFieldsに直接アクセスすることはできません。私は$node->fields->find_all()を使用する必要があります。私は疑問を抱いていました - データベースからNodeを照会するときに、関連フィールドを自動的にロードする可能性はありますか?

のは、私はそのように使用したいとしましょう:

<?php 
$node = ORM::factory('node'); 
$nodes = $node->find(1); 

// as you can see, i don't want to use separated query for getting `fields`. 
foreach($node->fields as $field) 
{ 
    echo $field->content; 
} 
?> 

私は私が$_load_withモデルプロパティまたは->with('fields')を使用することができることを見てきたが、これら二つの解決策は、空の結果を返します。私のためのアドバイスはありますか? :) 前もって感謝します!

+0

'with()'は一対一の関係のためだけに働くので、 '$ node-> category'は自動読み込みできますが、' $ node-> fields'は自動読み込みできません。 – biakaveron

+0

となり、1対多のリレーションを自動ロードする方法はまったくありません。 – mbajur

+0

ノードモデルで 'find()'メソッドを拡張すると、メインの行とのすべての関係をロードします。しかし、私は2つの分離されたクエリ(管理しやすい、簡単なキャッシュなど)を使用するprefferだ。 – biakaveron

答えて

関連する問題