Вы не установили $agent
в своем действии индекса, если вы хотите, чтобы переменные, установленные в конструкторе, были доступны, тогда вы должны установить их как свойство класса, то есть: $this->Agent = ...;
, и обращаться к ним так же, как с $this->Agent->id
. (Я бы использовал их, чтобы показать, что они являются объектами, а не просто переменными). Например:
$this->User = $this->my_auth_library->get_user();
$this->Agent = $this->agent_model->get_agent($user->id);
Конструктор ведет себя так же, как и любые другие методы класса, его единственное специальное свойство заключается в том, что он автоматически запускается при создании экземпляра класса, все еще применяется обычная область видимости переменной.