В конструктор не приходит переменная, как исправить? Есть модель категорий у нее есть конструктор, в который должен приходить объект базы данных, но при инстанцировании этой модели(Категорий) выдает:
Catchable fatal error: Argument 1 passed to models\Categories::__construct() must be an instance of core\Database, none given in
Убираю тайп хинт и получаю ошибку уровня warning:
Missing argument 1 for models\Categories::__construct()public function __construct(\core\Database $db){
$this->db=$db;
}//Конструктор класса models\Categories
var_dump($register->getDb());//object(core\Database)#1 (0) { }
$categories=new\models\Categories($register->getDb());

21 Авг 2019 в 07:05
178 +1
0
Ответы
1

Для того чтобы исправить эту проблему, необходимо убедиться, что объект базы данных передается в конструктор при инстанцировании модели Категорий.

Проверьте, что у вас есть экземпляр объекта базы данных в переменной $register->getDb() и он не равен null. Если это так, то при создании объекта модели Категорий убедитесь, что вы передаете этот объект в конструктор:

$database = $register->getDb();
$categories = new \models\Categories($database);

Таким образом, объект базы данных будет передан в конструктор модели Категорий и ошибка не должна возникать.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир