【发布时间】:2012-09-19 06:25:14
【问题描述】:
我有一个用 cakephp 2.0 开发的网站,我有一些相关的表,这里是一个例子: 这是我的关系:
ingredients (id,name) 有很多版本
ingredient_properties(id,property_id,version_id) 属于 到属性、版本
properties (id,name,value,group_id,unit_id) 有很多 成分属性和属于组,单位
groups (id,name) 有很多属性
units (id,name) 有很多属性
versions (id,name,ingredient_id,active) 有很多成分属性,属于成分。
我在成分Controller.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 是否是检索我解释过的表的所有数据的最佳方法,或者有更快的更好方法(就查询速度而言实施)。 我希望有人可以帮助我优化我的代码,因为此查询有效,但我不知道它是否是检索许多相关表的数据的更好方法。
谢谢。
【问题讨论】:
-
你看过内置的可包含行为吗?
-
谢谢,我会立即阅读该页面,我想绝对优化我的查询
-
有人可以用我的表格举例吗?
标签: php cakephp cakephp-model