CakePhp: Вы можете запросить базу данных из помощника помощника?

StackOverflow https://stackoverflow.com/questions/4031251

  •  26-09-2019
  •  | 
  •  

Вопрос

Привет, просто нужно знать, сможете ли вы запросить базу данных изнутри помощника, должен ли вы и как вы это делаете.

Спасибо

Это было полезно?

Решение

Вы могли, передавая ссылку на модель в представлении как переменную через $ this-> Set (), а затем запрашивая ее ... Но вы не должны. Это грязно ;-)

CakePhP использует модель MVC, и помощники являются частью представления (V MVC) - их задание чисто отображает (уже доступную) информацию, передаваемую ему от контроллера.

Если ваше представление нуждается в дополнительной информации, то ваш контроллер должен был уже запрашивать модели, чтобы получить его.

Я бы предложил вам прочитать в модели MVC, если вы не знакомы с ним, то некоторые рефакторинг могут быть в порядке!

Другие советы

Да. Вы можете запросить базу данных из вашего файла HELPER. Пожалуйста, проверьте это: -

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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top