Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: MVC и запрос к базе через модель
Форумы портала PHP.SU » » Объектно-ориентированное программирование » MVC и запрос к базе через модель

Страниц (1): [1]
 

1. No0k - 14 Октября, 2016 - 19:51:33 - перейти к сообщению
Начал изучать ОПП и попал в проблему. Я из класса Module пытаюсь сделать запрос в класс MySQL который инициализировал в классе Model. При запросе, я получаю не MySQL строки, а просто экземпляр класса. Вот код:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.  
  5. class Model
  6. {
  7.     protected $config = array();
  8.     protected $db;
  9.  
  10.     public function __construct($set)
  11.     {
  12.         $this->config = $set;
  13.         $this->databaseConnect();
  14.     }
  15.  
  16.     protected function databaseConnect()
  17.     {
  18.         $this->db = new MySQL($this->config);
  19.     }
  20. }
  21.  
  22. class Module extends Model
  23. {
  24.    
  25.     /*
  26.      * Получаем модули
  27.      */
  28.     public function get()
  29.     {
  30.         $a = $this->db->query("SELECT COUNT(*) FROM `modules`");
  31.         return $a;
  32.     }
  33. }
  34. $q = new Module(Vars::get('settings'));
  35. $q->get();
  36.  

Когда я в классе Module вызываю $a = $this->db->query("SELECT COUNT(*) FROM `modules`"); моя IDE подсказывает "Метод query не найден"
Подскажите в чем проблема и как можно оптимизировать запросы?
2. vova3261 - 14 Ноября, 2017 - 04:43:54 - перейти к сообщению
У вас в свойстве db должен лежать экемпляр класса MySQL. Что это за класс такой, где объявлен и есть ли в нем тот самый метод query?
3. caballero - 14 Ноября, 2017 - 13:22:46 - перейти к сообщению
Изучите сначала ООП как таковое а потом уже за MVC беритесь а не все сразу

 

Powered by ExBB FM 1.0 RC1