Код: Выделить всё
class AppController extends Controller {
var $components = array('Acl', 'Auth', 'Session', 'FcStudentMilestone', 'FcSection');
function beforeFilter(){
$this->set('completed_data', $this->_completedData());
}
function _completedData(){
$arr = array();
$x = strval($this->Auth->user('id'));
$compData = $this->FcStudentMilestone->find('all',
array('conditions' => array(
'FcStudentMilestone.user_id' => $x,
'FcStudentMilestone.completed' => '1')));
foreach ($compData as $compDatum) {
$compString = $this->FcSection->find('all',
array('conditions' =>
array('FcSection.id' =>
$compDatum['FcStudentMilestone']['fc_section_id'])));
array_push($arr, $compString[0]['FcSection']['name']);
}
return $arr;
}
Я пробовал используя if($this->Auth->user()) или if($this->Auth->user('id')) но он по-прежнему возвращает true и продолжает попытку выполнить запрос.
вот такая ошибка, которую я получаю : Вызов неопределенного метода FcStudentMilestoneComponent::find()
У меня есть файл компонента FcStudentMilestone в папке компонентов, поэтому я действительно думаю, что он может что-то сделать из-за отсутствия идентификатора пользователя, но я мог быть далеко.
Кроме того, я заметил, что ошибка относится к фактическому оператору поиска, но я звоню текущему пользователю идентификатор в предыдущей строке, поэтому почему бы ему не пометить эту строку вместо строки с оператором find?
Подробнее здесь: https://stackoverflow.com/questions/467 ... forefilter
Мобильная версия