我是Cakephp的新手,我找不到解决问题的方法。 我有三张桌子 - 的药物:
id|Name|company_id
公司
id|Name|city_id
城市:
id|Name
我必须选择drugs.name,companies.name和cities.name,其中id匹配 我怎么用Cakephp方法做到这一点。 我知道这个简单的SQL查询:
SELECT medicines.name, companies.name and cities.name FROM medicines, companies, cities WHERE medicines.company_id=companies.id AND companies.city_id=cities.id
先谢谢
答案 0 :(得分:0)
你试过读这本书吗?这里有很好的解释:Associations: Linking Models Together
定义应用程序中不同对象之间的关系 应该是一个自然的过程。例如:在配方数据库中,a 食谱可能有很多评论,评论有一个作者,和 作者可能有很多食谱。确定这些关系的运作方式 允许您以直观和强大的方式访问数据。
书中的例子:
class User extends AppModel {
public $hasOne = 'Profile';
public $hasMany = array(
'Recipe' => array(
'className' => 'Recipe',
'conditions' => array('Recipe.approved' => '1'),
'order' => 'Recipe.created DESC'
)
);
}
class User extends AppModel {
public $hasMany = array(
'MyRecipe' => array(
'className' => 'Recipe',
)
);
public $hasAndBelongsToMany = array(
'MemberOf' => array(
'className' => 'Group',
)
);
}
class Group extends AppModel {
public $hasMany = array(
'MyRecipe' => array(
'className' => 'Recipe',
)
);
public $hasAndBelongsToMany = array(
'Member' => array(
'className' => 'User',
)
);
}