В чем может быть ошибка?
выводит ошибку при выводе кода из 4 урока , ошибок в самом коде нет , проверял несколько раз, думаю проблема в некорректной настройке фреймворка , т.к. в папке php.ini конфига xxamp файл отличается от файла видеоуроке(не могу найти extension) или ошибка в другом , не знаю
8 ответов
Какую ошибку пишет?
Какая операционная система?
XAMPP какой версии?
Код контроллера покажите News_model.php
Похоже вы забыли подгрузить DB:
$this->load->model('news_model');
Здесь проблема: Вы пишите такой конструктор:
public function __contruct() {
$this->load->database();
}
В 4 уроке Codeigniter в конструкторе такой код:
public function __construct() {
parent::__construct();
$this->load->model('News_model');
}
наследуется конструктор из основного контроллера и подгружается model.
Вы задаете вопрос про урок 4 курса Codeigniter, в видео в 4 уроке на 2:24:
https://fructcode.com/ru/courses/codeigniter-mvc/video-crud-view-news/
public function __construct() {
parent::__construct();
$this->load->model('News_model');
}
и да, здесь еще ошибка, в названии конструктора:
public function __contruct() {
$this->load->database();
}
у вас написано __contruct(), а должно быть __construct().
A PHP Error was encountered
Severity: Notice
Message: Undefined property: News::$db
Filename: core/Model.php
Line Number: 73
Backtrace:
File: C:\xampp\htdocs\kinomonster\application\models\News_model.php
Line: 11
Function: __get
File: C:\xampp\htdocs\kinomonster\application\controllers\News.php
Line: 13
Function: getNews
File: C:\xampp\htdocs\kinomonster\index.php
Line: 315
Function: require_once
An uncaught Exception was encountered
Type: Error
Message: Call to a member function get() on null
Filename: C:\xampp\htdocs\kinomonster\application\models\News_model.php
Line Number: 11
Backtrace:
File: C:\xampp\htdocs\kinomonster\application\controllers\News.php
Line: 13
Function: getNews
File: C:\xampp\htdocs\kinomonster\index.php
Line: 315
Function: require_once
windows 7 64 bit
xxamp версия 3.2.2
<?php
class News_model extends CI_Model {
public function __contruct() {
$this->load->database();
}
public function getNews($slug = FALSE) {
if($slug === FALSE) {
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news',array('slug' => $slug));
return $query->row_array();
}
}
нет , папка контроллера называется News.php,а модели News_model.php, так что этот код пишется в контроллере:
parent::__construct();
$this->load->model('news_model');
а в моем коде модели все как в видеоуроке :
<?php
class News_model extends CI_Model {
public function __contruct() {
$this->load->database();
}
public function getNews($slug = FALSE) {
if($slug === FALSE) {
$query = $this->db->get('news');
return $query->result_array();
}
$query = $this->db->get_where('news',array('slug' => $slug));
return $query->row_array();
}
}
так что проблема не решена еще
нашел ошибку,названия не совпадают по типу news_model a должно быть News_model хотя в видеоуроке было с маленькой буквы , так что проблема скорее у меня. Спасибо , за терпение