В CakePHP3.6 как вызвать функцию другого контроллера в другой контроллер? - PullRequest
0 голосов
/ 08 сентября 2018

Я использую CakePHP3.6 для моего проекта. Я создал следующую функцию в контроллере опций:

public function getValue($id = null){ 
$options=$this->Options->find()->where(['id'=>$id])->first();
return $options->value;  
}

тогда я вызываю эту функцию в функцию другого контроллера (любого контроллера xyz) следующим образом:

$r = $this->Options->getValue(1);

Теперь я получаю сообщение об ошибке «Неизвестный метод« getValue »».

Та же процедура, что и я для CakePHP3.2, она работала хорошо. Поэтому, пожалуйста, помогите мне, Как вызвать функцию другого контроллера в функцию другого контроллера для CakePHP3.6?

1 Ответ

0 голосов
/ 08 сентября 2018

Вы должны никогда не вызывать функцию из одного контроллера в другом, и я очень сомневаюсь, что это сработало, как показано в 3.2. Эта функция выглядит так, как будто она должна быть в OptionsTable, а не в OptionsController. Единственное изменение, которое вам нужно сделать, это внутри тела функции, это будет просто $this->find(), а не $this->Options->find().

...