Post
モデルとモデルがTag
あり、どちらもHABTM関係で正しく設定されています。posts_tags
また、データベースには、命名規則に従って正しく名前が付けられたというテーブルがあります。
ただし、投稿と一緒にタグを保存する方法を一生理解することはできません。私の「投稿の追加」ページに私はこれを持っています:
<?php echo $this->Form->create('Post'); ?>
<?php echo $this->Form->input('Post.title'); ?>
<?php echo $this->Form->input('Post.body'); ?>
<?php echo $this->Form->input('Tag.name'); ?>
<?php echo $this->Form->input('Post.slug'); ?>
<?php echo $this->Form->end('Publish'); ?>
送信時にこのアクションを呼び出します。
public function add() {
if($this->request->is('post')) {
if($this->Post->saveAll($this->request->data)) {
$this->Session->setFlash('Post published!');
$this->redirect('/');
} else {
$this->Session->setFlash('Post unable to be saved!');
}
}
$this->set('pageTitle', 'Compose new blog post');
}
投稿は保存されますが、タグまたは投稿とタグの関係は保存されません。Cakeはエラーや警告を表示しません。Cakeに投稿と一緒にタグを保存させ、必要な関係を築くにはどうすればよいですか?
$this->request->data
編集:これは、以下を使用してデータベースに保存されているもののダンプですsaveAll()
:
array(
'Post' => array(
'title' => 'Blog post',
'body' => 'Testing this post',
'slug' => 'Blog-post'
),
'Tag' => array(
'name' => 'test-tag'
)
)