我有一个应用程序,它有几个表,但我想连接其中的三个。所以我有项目,类型学和照片。照片有一个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
的字段相同。
我想知道的是:这可能是第一个吗?如果是的话,第二个怎么办呢?如果没有,还有另一种方式,更方便吗?
答案 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'
)
);