Yii переопределение вывода _view.php
Primary tabs
Одна из сущностей моей модели (Message) - это id пользователя ,который оставил сообщение, но мне нужно вывести на экран, не id , а имя пользователя, которое храниться в другой таблице.
вот что сделано:
><?php
// выводим номер сообщения
echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>
<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>
<br />
<b><?php echo ($data->getAttributeLabel('user_id'));//echo CHtml::encode($data->getAttributeLabel('user_id')); ?>:</b>
<?php
// модифицированный вывод ИМЕНИ пользователя из "чужой" таблицы(вместе id из "родной")
if (!$data->user_id) $userid = 1; //определяем - известен ли вообще id - учебный пример - для страховки id=1
else $userid = $data->user_id; // если определено -запоминаем
// далее выполняем запрос к базе
$user = Yii::app()->db->createCommand('SELECT username FROM tbl_user WHERE id='.$userid)->queryAll();
$author = $user[0]['username'];
echo CHtml::encode($author); // выводим имя автора вместо id
//print_r($user );
//echo CHtml::encode($user[1]);
?>
- vedro-compota's blog
- Log in to post comments
- 4891 reads