Codeigniter ion auth пытается получить имя пользователя зарегистрированного пользователя в строке

Привет, команда Я новичок в CI и ion auth, и я хочу найти лучший способ получить имя пользователя для зарегистрированного пользователя и сделать его строкой. Я попробовал это, и я получил ошибку.

Объект класса CI_Email не может быть преобразован в строку

Это мой контроллер

 class Dashboard extends CI_Controller {

    function index() {
        $user = $this->ion_auth->user();
        $email = $user->email;  

        $data['email']= $email;
        $data['mainContent'] = 'dashboard_view';
        $this->load->view('template', $data);
    }

и просмотрите

<div id='dashboarWap'>
    <?php echo form_open('dashboard/dashInput'); ?> 

    <?php echo $email; ?>

Любая идея о том, почему я получаю эту ошибку, будет большой помощью.

Ответ 2

Ion Auth задает имя пользователя, адрес электронной почты, идентификатор пользователя и последнее время входа в переменные сеанса при входе пользователя в систему (посмотрите на ln 683 ish в ion_auth_model.)

Самый простой способ получить эту информацию - использовать класс сеанса CI следующим образом:

$username = $this->session->userdata( 'username' );

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

Ответ 3

Ion auth уже передает любые данные, записанные пользователем через

$this->data['users'] = $this->ion_auth->users()->result();

Вы можете получить доступ к имени пользователя, выполнив это

foreach ($users as $value) {
    echo $value->first_name. " " . $value->last_name;
} 

Ответ 4

Для получения данных массива:

$this->ion_auth->user()->row_array();

Для получения данных объекта:

$this->ion_auth->user()->row();

Ответ 5

так просто как:

$this->ion_auth->user()->row()->username;