私は正しいアソシエーション設定を取得する方法がわからない設定に取り組んでいます。Cakephp HABTM associations
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とLOCATIONをしますか? Userに属し
ツアー
ツアーは、ある場所から場所へと=>ニューヨークから、マイアミ
場所に=>ニューヨーク、マイアミ+++
使用belongsToのOG hasAndBelongsToManyの?いくつかの識別子を使って作業することが私にとっては初めてのことです。
助けてもらえますか?ありがとう!あなたが旅行することによってのみ、2場所を持っており、それらの2箇所が異なる意味を持っているので
-Tom
こんにちは。これは私が考えていたものに似ていますが、私のセットアップは、ユーザーがTIMEDATEで場所から場所へ行くに基づいています(のtimedateフィールドを気にいけません、habtmが正しいときに挿入されます)。可能であれば、ニューヨークからマイアミに向かい、DENVERを通って、より多くの場所を挿入することが可能です。あなたが言うように、複数の場所を持つことができます。 – Tom
元の設定が正しい場合は、テーブル名を "locationtos"と "locationfroms"に変更し、CakePHPの命名規則と一致するように外部キーIDを "locationto_id"と "locationfrom_id"にします。 – Suman
そしてhasAndBelongsToManyを使用しますか?しかし、どのようなモデルですか?それは質問です;)あなたの時間をありがとう! – Tom