私はcakephp2.0で開発されたサイトを持っています、私はここに関係するいくつかのテーブルを持っています例です:これは私の関係です:
材料(id、name)には多くのバージョンがあります
成分_プロパティ(id、property_id、version_id)は、プロパティ、バージョンに属します
プロパティ(id、name、value、group_id、unit_id)には多くのcomponent_propertiesがあり、groups、unitsに属しています。
groups(id、name)には多くのプロパティがあります
units(id、name)には多くのプロパティがあります
バージョン(id、name、ingredient_id、active)には多くのcomponent_propertiesがあり、componentsに属しています。
私はcomponentController.phpにいて、このすべてのデータをどこで取得したいのVersion.active=1
かVersion.ingredient_id=2
。
これは私の質問です:
$this->set(
'ingredient',
$this->Ingredient->Version->find('all', array(
'recursive' => 2,
'conditions' => array(
'Version.active' => 1,
'Version.ingredient_id' => 2
)
))
);
私はこのようなクエリをたくさん持っていますが、再帰2が説明したテーブルのすべてのデータを取得するための最良の方法であるか、それとも最も迅速に(実装しないクエリの速度に関して)より良い方法があるかを知りたいです。 。このクエリは機能するので、誰かが私のコードを最適化するのを手伝ってくれることを願っていますが、関係する多くのテーブルのデータを取得するためのより良い方法かどうかはわかりません。
ありがとう。