2

我有一个小组模型和另一个笔记模型(笔记和帖子是相同的东西)。

笔记控制器:

   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'));

但在这里我没有身份证。

你有什么建议?

4

1 回答 1

4

这个问题可能会对您有所帮助:Cakephp 中的 getLastInsertId() 是什么?

$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));

让你的代码更精简

于 2012-11-26T12:38:55.510 回答