У меня есть две таблицы, подобные этой:
CREATE TABLE IF NOT EXISTS `publications` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`numerated` tinyint(1) NOT NULL DEFAULT '0',
`title` text COLLATE utf8_unicode_ci,
`collection_id` int(11) NOT NULL,
`note` text CHARACTER SET utf8,
`adminNote` text CHARACTER SET utf8,
PRIMARY KEY (`id`),
KEY `collectionId` (`collection_id`)
KEY `numerated` (`numerated`),
) ;
CREATE TABLE IF NOT EXISTS `publication_numerations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`publication_id` int(11) NOT NULL,
`published` tinyint(1) NOT NULL DEFAULT '0',
`book` int(11) DEFAULT NULL,
`number` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `publication_id` (`publication_id`)
) ;
CREATE TABLE IF NOT EXISTS `properties` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`publication_id` int(11) NOT NULL,
`value` varchar(255) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `publication_id` (`publication_id`)
)
Все, что мне нужно, - это иметь список всех записей из публикаций таблиц и публикации_числений. Попробовал с тортом испечь модель / контроллер / вид, но все время включается
публикации и свойства, без публикации_числения.
Можете ли вы помочь мне решить эту проблему?
Заранее большое спасибо!
ОБНОВЛЕНО: так что все, что мне нужно, это создать и использовать его как запрос по умолчанию:
SELECT * FROM `publications`
LEFT JOIN `publication_numerations` ON (`publications`.`id` = publication_numerations.`publication_id`)
ОБНОВЛЕНО: вот мои модели
публикация модели
var $hasOne = array(
'Publisher' => array(
'className' => 'Publisher',
'foreignKey' => 'publication_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
);
var $belongsTo = array(
'Collection' => array(
'className' => 'Collection',
'foreignKey' => 'collection_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
var $hasMany = array(
'PublicationProperty' => array(
'className' => 'PublicationProperty',
'foreignKey' => 'publication_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'PublicationNumeration' => array(
'className' => 'PublicationNumeration',
'foreignKey' => 'publication_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
}
?>
PublicationNumeration модель
var $belongsTo = array(
'Publication' => array(
'className' => 'Publication',
'foreignKey' => 'publication_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
var $hasMany = array(
'Publication' => array(
'className' => 'Publication',
'foreignKey' => 'publication_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
}
?>
Режимы сбора
var $hasMany = array(
'Property' => array(
'className' => 'Property',
'foreignKey' => 'collection_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Publication' => array(
'className' => 'Publication',
'foreignKey' => 'collection_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
}
?>