cakephp协会

时间:2014-02-13 09:32:34

标签: cakephp

我有一个应用程序,它有几个表,但我想连接其中的三个。所以我有项目,类型学和照片。照片有一个FK item_subitem_id,它同时引用了item或typologytable。照片表是这样的:

public $photos = array(
    'photo_id' => array('type' => 'integer', 'null' => false, 'default' => null, 'key' => 'primary'),
    'photo_item' => array('type' => 'boolean', 'null' => false, 'default' => null),
    'photo_typology' => array('type' => 'boolean', 'null' => false, 'default' => null),
    'photo_item_typology_id' => array('type' => 'integer', 'null' => false, 'default' => null),
    'photo_pic_path' => array('type' => 'text', 'null' => false, 'default' => null, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1'),
    'photo_type' => array('type' => 'string', 'null' => false, 'default' => null, 'length' => 20, 'collate' => 'latin1_swedish_ci', 'charset' => 'latin1'),
    'indexes' => array(
        'PRIMARY' => array('column' => 'photo_id', 'unique' => 1)
    ),
    'tableParameters' => array('charset' => 'latin1', 'collate' => 'latin1_swedish_ci', 'engine' => 'InnoDB')
);

所以如果你看到有照片表有photo_item和photo_typology是布尔值。所以if photo_item=1表示phoyo_item_typology_id中的字段来自项目表,photo_typology的字段相同。

我想知道的是:这可能是第一个吗?如果是的话,第二个怎么办呢?如果没有,还有另一种方式,更方便吗?

1 个答案:

答案 0 :(得分:1)

我认为如果photo_item = 1,你想要将Photo模型与PhotoItem相关联,是真的吗?如果是,您可以在模型中添加condiiotns到您的定义。

请参阅:http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html

类似的东西:

public $hasMany = array(
        'Recipe' => array(
            'className' => 'Recipe',
            'conditions' => array('Recipe.approved' => '1'),
            'order' => 'Recipe.created DESC'
        )
    );