Вопрос По Получению Данных Из Sqlite

Доброго времени суток!

Я только вчера днем впервые опробовал Yii, поэтому прошу объяснить на пальцах :)

Вопрос такой: При входе, имя пользователя можно получить функцией Yii::app()->user->name, которая получает данные из tbl_user. У меня есть еще одна таблица, tbl_roles, в которой всего 3 записи: user, moder, admin, и в каждой записи, в ячейке users, стоят id пользователей, которые получают то или иное звание. Вопрос: как вывести роль пользователя? (ячейку name из tbl_roles, к которой принадлежит ID этого пользователя).

pS: если можно, напишите код с объяснениями.

Заранее благодарю, Макс.

Приветствую на форуме, Макс

Во-первых, обычный подход в UserIdentity сохранять не name, но id пользователя. Пример, как это делается, смотрите в руководстве.

Таким образом, название роли можно будет брать напрямую из таблицы tbl_roles. например




$role = Role::model()->findByPk(Yii::app()->user->id, array('select'=>'name'));

$roleName = $role->name;

[size="2"](Проверку, что такая запись найдена, опускаю)[/size]

Во-вторых, о том, как связать между собой таблицы tbl_user и tbl_roles, читайте снова таки в руководстве, которое рекомендуется (обязательно :) ) к прочтению перед любыми другими действиями связанными с фреймверком. Прописав в классе User




	public function relations()

    {

        return array(

            'role'=>array(self::HAS_ONE, 'Role', 'id'),

        );

    }

вы можете получать данные из связанной таблицы, к примеру, таким образом




$user = User::model()->with('role')->findByAttributes(array('name'=>Yii::app()->user->name));

$roleName = $user->role->name;

Подробности - по предыдущей ссылке.