Cakephp:如果每个模型通过某个外键连接到其他模型,如何链接模型

时间:2014-01-13 10:47:59

标签: mysql cakephp model relation

我是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

先谢谢

1 个答案:

答案 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',
        )
    );
}
相关问题