在cgridview中搜索/过滤两个连接列

时间:2012-11-19 07:33:20

标签: yii

admi.php中的cgridview代码

array(
    'header'=>'Client Name',
        'name'=>'client_name',
        'value'=>'$data->first_name." ".$data->last_name', //or u can write also value'=>'$data->first_name.\' \'.$data->last_name', 
    ),

client.php中的模型search()类

 public $client_name;

$criteria->compare('CONCAT(first_name,last_name)',$this->client_name,true);

连接并显示已完成,但是搜索数据显示未找到任何结果?

1 个答案:

答案 0 :(得分:3)

在模型中

   class User extends CActiveRecord
    {
            public $fullName;
}
搜索

$criteria->addSearchCondition('concat(first_name, " ", last_name)', $this->fullName); 
规则()

中的

array('..., fullName', 'safe', 'on' => 'search'),

在模型中创建了一个函数

public function getFullName()
        {
                return $this->first_name . ' ' . $this->last_name;
        }

最后将其放在视图

<?php $this->widget('zii.widgets.grid.CGridView', array(

        .......
          'columns' => array(
                array(
                        'name' => 'full_name',
                        'value' => '$data->getFullName()',
                ),

                ...