我在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查询来保存电子邮件日志(我遇到了同样的问题)问题)。有什么帮助吗?
答案 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;