我有一个组模型和另一个Notes模型(Notes和Posts是相同的东西)。
NotesController:
public function groupnotes()
{
if (!empty($this->data))
{
$data = $this->data;
$data['Note']['user_id'] = $this->Auth->user('id');
if ($this->Note->save($data))
{
PROBLEM HERE
}
}
if(empty($this->data['Note']['notes']))
{
PROBLEM HERE
}
GroupsController :( ViewCourse用于查看每个组)
public function viewcourse($id=NULL)
{
$this->set('viewcourse', $this->Group->read(NULL,$id));
$this->set('course', $this->Group->find('all', array('conditions'=>array('Group.id'=>$id))));
}
现在,当我在一个组中创建一个帖子时,它会将我重定向到“groupnotes”动作,我希望它将我重定向到viewcourse / id ...我有点困惑如何将页面重定向到viewcourse / id。 ..
我尝试将其添加到groupnotes操作
$this->redirect(array('controller'=>'groups', 'action' => 'viewcourse'));
但在这里我没有id。
你有什么建议?
答案 0 :(得分:4)
这个问题可能会对您有所帮助:What is the equivalent to getLastInsertId() in Cakephp?
$this->redirect(array(
'controller'=>'groups',
'action' => 'viewcourse/'.$this->Group->getLastInsertId())
);
编辑: 我只建议您转到组的最后一个插入ID作为建议。当你说“但在这里我没有身份证明”时,你的问题有点模糊。 1.你想去任何有效的课程ID吗? 2.最后进入课程? 3.首先输入课程ID?
或者您可以在控制器中设置默认课程,如此...
public function viewcourse($id=NULL)
{
if(!$id){
$id = $this->Group->find('first');
$id = $id['Group']['id'];
}
$this->set('viewcourse', $this->Group->read(NULL,$id));
$this->set('course', $this->Group->find('all', array('conditions'=>array('Group.id'=>$id))));
}
注意:只是提示,
$this->set('course', $this->Group->find('all', array('conditions'=>array('Group.id'=>$id))));
可以用
代替 $this->set('course', $this->Group->findById($id));
让你的代码更精简