当我尝试将一些条目添加到两个类的连接表中时,我遇到了 CakePHP 的问题。
这是我的联接表:
posts_comments
id
post_id
comment_id
我的帖子模型:
<?php
class Post extends AppModel {
var $hasManyAndBelongsTo = array('Comment')
}
?>
我的评论模型:
<?php
class Commentextends AppModel {
var $hasAndBelongsToMany = array('Post');
}
?>
我的控制器:
ForumController:
function save() {
if ($this->data) {
$this->loadModel('PostComment');
$this->layout = null;
debug($this->data);
$this->PostComment->save($this->data);
}
$this->redirect(array('action' => 'view', $this->data['PostComment']['PostId']));
}
还有我的 view.ctp:
<?php
echo $this->Form->create('PostComment', array('url' => 'save', 'id' => 'save')); ?>
echo $this->Form->hidden('PostComment.PostId', array('value' => $id));
echo $this->Form->input('PostComment.CommentId', array('label' => '', 'type' => 'select', 'multiple' => 'checkbox', 'options' => $CommentName, 'selected' => $CommentId));
echo $this->Form->submit('save', array('id' => 'submit'));
echo $this->Form->end();
?>
当我点击 时submit
,没有提交任何内容,并且发生了重定向,但我的数据中包含的数据$this->data
没有保存在我的 BDD 中。
但我想要的是,当我提交表单时,我不希望 CakePHP 创建新帖子或新评论,我只想在两者之间建立新的关系。
我已经成功做到了,但我用
$this->myObject->query("INSERT INTO blablabla")
问题是我有多个复选框,所以我真的不知道如何轻松检查一个框已被取消选中或选中。