私は単純な投稿システムを使用して、ブログ投稿に特殊フィールドを追加することができます(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')
を使用することができることを見てきたが、これら二つの解決策は、空の結果を返します。私のためのアドバイスはありますか? :) 前もって感謝します!
'with()'は一対一の関係のためだけに働くので、 '$ node-> category'は自動読み込みできますが、' $ node-> fields'は自動読み込みできません。 – biakaveron
となり、1対多のリレーションを自動ロードする方法はまったくありません。 – mbajur
ノードモデルで 'find()'メソッドを拡張すると、メインの行とのすべての関係をロードします。しかし、私は2つの分離されたクエリ(管理しやすい、簡単なキャッシュなど)を使用するprefferだ。 – biakaveron