В конструктор не приходит переменная, как исправить? Есть модель категорий у нее есть конструктор, в который должен приходить объект базы данных, но при инстанцировании этой модели(Категорий) выдает:
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
157 +1
0
Ответы
1

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

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

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

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

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 548 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир