Привет, просто нужно знать, можете ли вы запрашивать базу данных из вспомогательного класса, следует ли вам это делать и как вы это делаете.
Спасибо
Привет, просто нужно знать, можете ли вы запрашивать базу данных из вспомогательного класса, следует ли вам это делать и как вы это делаете.
Спасибо
Вы могли бы, передав ссылку на модель в представление как переменную через $this->set(), а затем запросив ее... но вы не должны. Это грязно ;-)
CakePHP использует модель MVC, а хелперы являются частью представления (V в MVC) — их работа заключается исключительно в отображении (уже доступной) информации, переданной ему от контроллера.
Если вашему представлению нужна дополнительная информация, то ваш контроллер должен был уже запросить модели, чтобы получить ее.
Я бы посоветовал вам прочитать о модели MVC, если вы не знакомы с ней, тогда может потребоваться некоторый рефакторинг!
да. Вы можете запросить базу данных из вспомогательного файла. Пожалуйста, проверьте это: -
class YourHelperNameHelper extends AppHelper {
function queryDbFromHelper()
{
// Load your model here
App::import('Model','ModelName');
$this->ModelName = new ModelName();
//now you can use find method or another method to query DB.
return $this->ModelName->find('all');
}
}
// Include this helper in controller
var $helpers = array('YourHelperName');
// call this function in helper file.
$this->YourHelperName->queryDbFromHelper();