Привет, просто нужно знать, можете ли вы запросить базу данных изнутри вспомогательного класса, должны ли вы и как вы это делаете.cakePHP: Вы можете запросить базу данных из вспомогательного класса?
Благодаря
Привет, просто нужно знать, можете ли вы запросить базу данных изнутри вспомогательного класса, должны ли вы и как вы это делаете.cakePHP: Вы можете запросить базу данных из вспомогательного класса?
Благодаря
Вы могли бы, путем пропускания ссылки на модели в поле зрения в качестве переменной с помощью $ this-> множество(), а затем запрашивая его ... но вы не должны. Это беспорядочно ;-)
CakePHP использует модель MVC, а помощники являются частью View (V of 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();
Я не уверен, почему это помечено как правильное - оно вообще не отвечает на вопрос - я также хотел бы знать, как помещать общие запросы базы данных в вспомогательные файлы в CakePHP. – Rob