Wygenerowane Giix
Model User
public function relations() {
return array(
'listaAgentows' => array(self::HAS_MANY, 'ListaAgentow', 'user_id_user'),
'clients' => array(self::HAS_MANY, 'Clients', 'user_id_user'),
'integrators' => array(self::HAS_MANY, 'Integrators', 'user_id_user'),
'notes' => array(self::HAS_MANY, 'Notes', 'user_id_user'),
'agentsIdAgent' => array(self::BELONGS_TO, 'Agents', 'agents_id_agent'),
'roleIdRole' => array(self::BELONGS_TO, 'Role', 'role_id_role'),
);
}
public function lista() {
$criteria = new CDbCriteria;
$criteria->with = array ('roleIdRole'=> array('with'=>'users'));
$criteria->with = array ('agentsIdAgent'=> array('with'=>'users'));
$sort= new CSort;
$sort->attributes = array(
'roleIdRole'=>array(
'asc'=> 'rName',
'desc'=>'rName DESC',
),
'*',
);
return new CActiveDataProvider(get_class($this), array('criteria' => $criteria,
'sort'=>$sort,));
}
Model Role
public function relations() {
return array(
'users' => array(self::HAS_MANY, 'User', 'role_id_role'),
);
}
Kontroler
public function actionListUser()
{
$Lista=new User('lista');
$this->render('listUser', array('Lista'=>$Lista));
}
Widok
$this->widget('zii.widgets.grid.CGridView',array(
'id'=>'Lista',
'dataProvider'=>$Lista->lista(),
'columns' => array(
'uLogin',
'uEmail',
array(
'name'=> 'Rola',
'value' => '$data->roleIdRole->rName',
),
array(
'name'=>'Agent',
'value'=>'$data->agentsIdAgent->aName.",".$data->agentsIdAgent->aCity',
),
array(
'class' => 'CButtonColumn',
'template'=>'{view}{update}{delete}',
'buttons'=>array(
'view' => array(
'url'=>'$this->grid->controller->createUrl("/backOffice/viewUser", array("id"=>$data->id_user))',),
'update'=>array(
'url'=>'$this->grid->controller->createUrl("/backOffice/updateUser", array("id"=>$data->id_user))',),
'delete'=>array(
'url'=>'$this->grid->controller->createUrl("/backOffice/deleteUser", array("id"=>$data->id_user))',),
),
)
)
));
No i wszystko ładnie tylko nie chodzi to sortowanie dla Roli i Agenta dla loginu i emaila chodzi