Внутри вашей модели вы имеете в виду модель.Вам нужно только указать $ this, а не $ this-> Student.
public function canSignupForCourse($studentId) {
$this->Student->id = $studentId;
должно быть
public function canSignupForCourse($studentId) {
$this->id = $studentId;
UPDATE
Evenхуже того, вы не можете перегружать модель другой моделью, подобной этой.Вы не можете вызвать модель из другой модели без ее создания.Вы должны добавить это перед ссылкой на модель ученика:
App :: использовании ('Студент', 'Модель');$ student = new Student ();$ student-> id = $ student_id;
Однако дизайн ваших функций должен быть обновлен.Вы, вероятно, должны передать идентификатор студента и идентификатор курса на $this->Student->isSignedUpForCourse();
.То, как вы сейчас это делаете, делает код трудным для чтения и понимания.Я бы изменил функцию isSignedUpForCourse следующим образом:
public function isSignedUpForCourse($student_id = null, $course_id = null) {
if (!$student_id or !$course_id) {
return false;
}
// access the model to determine course/student
}
Не зная отношений между курсом / студентом (хотя я бы предположил, что это HABTM), я не могу предоставить правильный код обнаружения курса / студента.Но я думаю, вы поняли.