Вы не должны назначать данные объекту запроса.Либо присвойте объект запроса другому массиву, например $data
, и внесите в него свои обновления, либо найдите способ передать диапазон вашей функции проверки.
Кроме того, оператор поиска из вашего вопроса вернет массив,не объект.Так что ваш синтаксис там недействителен.Это, вероятно, причина вашей первоначальной проблемы.
Примерно так должно работать:
public function withinClassRange($data) {
// get class range
$classRange = $this->Edition->Aclass->find('first', array('conditions' => array('Aclass.id' => $this->data['Edition']['aclass_id'])));
if($data['rating'] > $classRange['Aclass']['minRange'] && $data['rating'] < $classRange['Aclass']['maxRange']) {
return true;
}
return false;
}