Submitted by badmin on Fri, 11/16/2012 - 15:49
в контроллере модели надо создаём действие вроде этого:
public function actionIndex()
{
$dataProvider=new CActiveDataProvider('Message3', array(
'sort' => array(
'defaultOrder' => 'date DESC', //date - это колонка
// именно по ней я хочу провести сортировку в обратном порядке
// DESC как раз указывает на то, что требуется обратный порядок
),));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
Одна из сущностей моей модели (Message) - это id пользователя ,который оставил сообщение, но мне нужно вывести на экран, не id , а имя пользователя, которое храниться в другой таблице.
вот что сделано:
запрос можно построить с помощью "правильного" конструктора запросов, например так:
$user = Yii::app()->db->createCommand()
->select('username')
->from('tbl_user u')
->where('id=:id', array(':id'=>$data->user_id))
->queryRow();
или с помощью SQL =
$user = Yii::app()->db->createCommand('SELECT username FROM tbl_user WHERE id='.$userid)->queryAll();
$author = $user[0]['username']
;
определяются в одном из важных методов модели
=
/**
* @return возвращает адоптированный массив ярлыков для сущностей
кстати - давайте сделаем их русскими (+ исходник переведём в utf-8)
*/
public function attributeLabels()
{
return array(
'id' => '№',
'user_id' => 'Автор',
'date' => 'Дата',
'txt' => 'Сообщение',
);
}
источник = http://www.yiiframework.com/wiki/6/how-t...
чтобы получить id можно ,например. модифицировать стандартный класс (\components\) UserIdentity
который описывает процесс входа в систему для сущности, которую представляет модель "пользователь" (User)
- фактически мы расширим стандартный функционал
который опять же в стандартной форме выглядит так:
Pages