我正在設置一個設置,我不確定如何獲得正確的關聯設置。Cakephp HABTM協會
CakePHP的1.3
我想這樣的事情,請糾正我,如果我錯了!
數據庫:
CREATE TABLE IF NOT EXISTS `trips` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`user_id` bigint(20) NOT NULL,
`location_to` bigint(20) NOT NULL,
`location_from` bigint(20) NOT NULL,
`published` int(1) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ;
CREATE TABLE IF NOT EXISTS `locations` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `locations_from` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`trip_id` bigint(20) NOT NULL,
`location_id` bigint(20) NOT NULL
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `locations_to` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`trip_id` bigint(20) NOT NULL,
`location_id` bigint(20) NOT NULL
PRIMARY KEY (`id`)
);
但如何建立正確HABTM模型TRIP和位置?
旅行屬於關聯用戶
旅行有一個從位置和位置=>從紐約,邁阿密
位置=>紐約,邁阿密+++
使用屬於關聯OG hasandbelongstomany?使用多個標識符是我的第一個。
任何人都可以提供一些幫助?謝謝!
-Tom
嗨..這是類似於我在想什麼,但我的設置將依據,用戶在TIMEDATE會隨位置(不帶TIMEDATE領域打擾,當我得到正確的時候會插入)。如果可能的話插入更多的位置,例如,從紐約到邁阿密,通過槽DENVER。就像你說的,可以有多個位置。 – Tom 2012-03-23 20:11:21
好吧,那麼你的原始設置是正確的,我只需要將表名改爲「locationtos」和「locationfroms」,並使外鍵id爲「locationto_id」和「locationfrom_id」,以使其與CakePHP的命名約定一致。 – Suman 2012-03-23 21:23:32
並使用hasAndBelongsToMany?但是什麼模式?這是個問題;)謝謝你的時間! – Tom 2012-03-23 21:29:36