CakePHP:AppController中的模型

时间:2012-03-08 20:14:13

标签: cakephp

我在appController中为sendemails创建了一个函数:

protected function sendEmail($studentId = null, $courseId = null, $action = null) {

    $course = $this->Course->find('first', array('conditions' => array('Course.id' => $courseId)));
    if(! $course) {
        throw new NotFoundException(__('Invalid course'));
    }
}

我想验证课程和学生,但根据我从哪个控制器调用它,我必须修改我的$ this-> xxx-> find语句。我提出的唯一其他解决方案是验证/发送$ course / $ student数据的时间,但我仍然想运行一个手动SQL查询来保存电子邮件日志(我遇到了同样的问题)问题)。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

我不太了解你的问题,但是:

如果没关系,请给我打电话..根据我的代码提供一个新的ideea。我现在不是你的数据库结构,但我认为它适用于连接查询...

$course = $this->Course
$student = $this->Student
  if(!empty($student) && !empty($course)): $status = 3 endif;   
  if(empty($student)): $status1 = 1 else: $status = 0 endif;
  if(empty($course)): $status2 = 2 else: $status = 0 endif;
    if(empty($status)):
      $array=array($status1,status2);
    else:
      $array=array($status);
    endif;
        foreach($array as $key => $value)
        if($value == 1):throw new NotFoundException(__('Invalid course')); 
        if($value == 2):throw new NotFoundException(__('Invalid student'));
        if($value == 0):throw new NotFoundException(__('Invalid course and student')); 
        if($value == 3):throw new NotFoundException(__('Valide course and student')); 
      endforeach;