我有一个关于CGridViews的基本问题。我将表员工存储在我的数据库中,并且我正在使用这个CGridView展示他的一些atributs。问题是我使用md5编码存储了所有密码,当我想要显示它们时,我不知道如何在没有md5编码的情况下显示它们。
我用句子试了一下:“'password'=> $ dataProvider-> employee-> md5(密码),”但你可以想象它是错的,它不起作用。这是我的CGridView,参数密码改为这句话。
<?php $this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'id'=>'employee_list',
'columns'=>array(
'id',
'name',
//'password',
'password'=>$dataProvider->employee->md5(password),
array(
'class'=>'CButtonColumn',
),
),
)); ?>
有人可以帮帮我吗?非常感谢你。
答案 0 :(得分:0)
假设您使用base64_encode($password)
对密码进行了编码,那么您需要做的是base64_decode($encoded_password)
来自您的问题,是$dataProvider->md5(password)
吗?
也许你可以参考下面的代码。
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'leaveapplication-grid1',
'dataProvider'=>$model->searchpersonalleave($myid),
//'filter'=>$model,
'columns'=>array(
'leave_dateapplied',
'leave_id',
array('name'=>'leave_category','value'=>'$data->getcategoryname($data->leave_category)' ), //0-annual, 1-medical, 2-emergency
'leave_startdate',
//'leave_enddate',
'leave_duration',
'leave_reason',
array(
'class'=>'CButtonColumn',
'template'=>'{view}{update}',
'buttons'=>array
(
'update' => array
(
'visible'=>'($data->getupdatefunction(17) =="Yes")',
),
),
),
),
));
答案 1 :(得分:0)
你只需要将php代码作为字符串传递,Cgridview将使用eval函数运行该字符串, 请参阅以下代码以获得更多说明:
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->search(),
'columns'=>array(
array(
'name'=>'password',
'value'=>'md5($data->password)',
),
),
));