我正在使用CakePHP編寫一個非常簡單的博客應用程序來幫助我學習框架。博客文章可以有很多標籤,標籤可以屬於很多博客文章(如StackOverflow)。這裏的外鍵我的數據庫架構,以反映這一點:自動在CakePHP博客中發佈帖子和標籤關係
我已成立了一個hasAndBelongsToMany
關係我Post
和Tag
模型之間有CakePHP的(我認爲這是做正確的方式?),這看起來是這樣的:
class Post extends AppModel {
public $name = 'Post';
public $hasAndBelongsToMany = array(
'Tag' =>
array(
'className' => 'Tag',
'foreignKey' => 'post_id',
'associationForeignKey' => 'tag_id',
'unique' => true
)
);
}
class Tag extends AppModel {
public $name = 'Tag';
public $hasAndBelongsToMany = array(
'Post' => array(
'className' => 'Post',
'foreignKey' => 'tag_id',
'associationForeignKey' => 'post_id',
'unique' => true
)
);
}
我也有一個非常簡單的頁面設置爲添加的帖子,該觀點是這樣的:
<h1>Add blog post</h1>
<?php echo $this->Form->create('Post'); ?>
<?php echo $this->Form->input('title'); ?>
<?php echo $this->Form->input('body'); ?>
<?php echo $this->Form->input('slug'); ?>
<?php echo $this->Form->end('Publish'); ?>
我的問題是,是否有可能在我的添加頁面上有一個輸入字段,我可以輸入標籤名稱(用空格分隔),然後讓Cake自動在我的數據庫中建立關係?就像StackOverflow一樣。
感謝您的建議,但我寧願自己實施。就像我說的我爲了學習的目的而這樣做,所以只需拖動一個插件就不會教我很多,儘管我會仔細查看您的代碼,謝謝! –