Насколько я понимаю, вы пытаетесь получить школы в зависимости от того, в каком они году. Для этого сделайте следующее:
function edit($schoolYear) {
$this->loadModel('MMSDvSchoolFromCalendar');
$elementarySchools = $this->MMSDvSchoolFromCalendar->find('all', array('conditions' => array('MMSDvSchoolFromCalendar.FiscalYear' => $schoolYear)));
}
Однако, если вы пытаетесь выполнить запрос в вашем getSchoolsByLevelфункция, сделайте это:
function edit($schoolYear) {
$this->loadModel('MMSDvSchoolFromCalendar');
$code = $isSummerSchool = 0;
$elementarySchools = $this->MMSDvSchoolFromCalendar->find('all', array('conditions' => array('FiscalYear' => $schoolYear, 'DistrictCode' => 'MA', 'summerSchool' => $isSummerSchool, 'SchoolCode LIKE' => $code)));
}
Если вы хотите разбить свою функцию, как в вашем примере, сделайте это:
function edit($schoolYear) {
$this->loadModel('MMSDvSchoolFromCalendar');
$elementarySchools = $this->_getSchoolsByLevel($schoolYear);
}
function _getSchoolsByLevel($schoolYear, string $code = '0', string $isSummerSchool = '0') {
return $this->MMSDvSchoolFromCalendar->find('all', array('conditions' => array('FiscalYear' => $schoolYear, 'DistrictCode' => 'MA', 'summerSchool' => $isSummerSchool, 'SchoolCode LIKE' => $code)));
}
Примечания:
Положить переменную $ использует = массив ('MMSDvSchoolFromCalendar');в верхней части вашего класса контроллера, так что вам не нужно продолжать загружать модель.
Подчеркивание перед функцией обозначает частную функцию.Используйте это, чтобы пользователи не могли перейти на страницу MMSDvSchoolFromCalendar / getSchoolsByLevel.