2009-08-22 13 views
0

私はCakePHPを学んでいます。私の単純なアプリケーションは、hasAndBelongsToMany関係の2つのテーブルをリンクしています。私は足場がタグを使って投稿を関連付けることができると期待していましたが、そうではありません。ここでCakePHP - basic hasAndBelongsToMany problem

はコードです:モデルフォルダの

SQL

CREATE TABLE `posts` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , 
`content` TEXT, 
PRIMARY KEY ( `id`) 
); 

CREATE TABLE `tags` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , 
`name` VARCHAR(100) DEFAULT NULL , 
PRIMARY KEY ( `id`) 
); 

CREATE TABLE `posts_tags` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT , 
`post_id` INT(11) UNSIGNED DEFAULT NULL , 
`tag_id` INT(11) UNSIGNED DEFAULT NULL , 
PRIMARY KEY ( `id`) 
); 

内容:

post.php

class Post extends AppModel { 
var $name = 'Post'; 
var $hasAndBelongsToMany = array('Tag'); 
} 

tag.php

class Tag extends AppModel { 
var $name = 'Tag'; 
var $hasAndBelongsToMany = array('Post'); 
} 
コントローラフォルダアプリで

posts_controller.php

class PostsController extends AppController { 
var $name = 'Posts'; 
var $scaffold; 
} 

tags_controller.php

class TagsController extends AppController { 
var $name = 'Tags'; 
var $scaffold; 
} 

のの

内容、私はポストまたはタグ/編集/削除を作成することができますが、そこそれらをリンクする方法はありません。

編集:私のスキャフォールドビューには、複数のタグを投稿などに関連付ける選択肢がありません。私はv 1.2.4.8284を使用しています。

答えて

0

で修正されてい屋、バージョン1.2.4といくつかの問題があります。私も同様の問題に直面した。

0

スキャフォールドビューには、タグを投稿と投稿にタグを関連付ける複数の選択肢があります。その後、投稿を表示すると関連するタグが表示され、タグを表示すると関連する表示が表示されます。あなたが提供したコードを使用し、これらの結果を生成することができました。あなたは同じことを見ていませんか?

0

これは、バージョン1.2.4のバグだった - それはバージョン1.2.5

0

はい、私は同じ問題が1.2.4.8284であることを確認できます。つまり、すべてのHABTMの関係はスキャフォールドされたフォームにはありませんでした。

私は1.2.3.8166に復帰しました。正常に戻っています。