-1

在我的表中,employees我有三个字段first_name,,,。我使用了一个 csqldataprovider,如下所示。我想显示员工的全名。即,名字+姓氏+中间名。所以我尝试了这样的 employees.concat(first_name,last_name,middle_name) 它给了我一个错误,即员工中没有名为 concat 的字段。 last_namemiddle_name

$sql    =   "SELECT employee_tasks.task_name as Task, employee_task_log.log as Log,
                            employees.first_name as Name, employee_task_log.id as Id
                    From employee_task_log 
                    Left join employee_tasks ON employee_tasks.id=employee_task_log.task_id 
                    Left join employees ON employees.id=employee_task_log.employee_id 
                    where employee_tasks.id ={$id} " ;

        $dataProvider   =   new CSqlDataProvider( $sql, array( 'keyField' => 'Id', 'pagination'=>false  ) );

我怎样才能连接name

4

1 回答 1

1

使用CONCAT_WS

CONCAT_WS(' ', first_name, middle_name, last_name);

所以查询将是:

SELECT employee_tasks.task_name as Task, employee_task_log.log as Log,
CONCAT_WS(' ', employees.first_name, employees.middle_name, employees.last_name) as Name,
employee_task_log.id as Id
From employee_task_log 
Left join employee_tasks ON employee_tasks.id=employee_task_log.task_id 
Left join employees ON employees.id=employee_task_log.employee_id 
where employee_tasks.id ={$id}
于 2015-12-17T09:58:32.200 回答