添加虚拟字段后发出查看列表 - cakePHP

时间:2013-02-02 10:59:11

标签: php mysql cakephp-2.2

我有一个页面,列出了在公司工作的所有员工。在我将virtual fields添加到用户模型之前,它一直运行良好。

现在它给了我以下错误:

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'HrEmployee.name'
in 'field list'

SQL Query: SELECT `User`.`id`, `User`.`username`, `User`.`password`,
`User`.`hr_employee_id`, `User`.`group_id`, `User`.`created`, `User`.`modified`,
(CONCAT(`HrEmployee`.`name`, " ", `HrEmployee`.`surname`, " (",
`HrEmployee`.`jobTitle`, ")")) AS `User__fullname` FROM `intraweb_db`.`users`
AS `User` WHERE `User`.`hr_employee_id` = (182)

我是CakePHP的新手,因此一直试图解决这个问题。但是,我在挣扎。谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:0)

假设HrEmployee是另一张表;

SELECT 
    u.id, u.username, u.password,
    u.hr_employee_id, u.group_id, u.created, u.modified,
    (
        CONCAT(HrEmployee.name, " ", HrEmployee.surname, " (", HrEmployee.jobTitle, ")")
    ) AS u__fullname 
FROM intraweb_db.users AS u 
# need to join HrEmployee via related field with users
JOIN HrEmployee ON (HrEmployee.RELATED_FIELD = u.RELATED_FIELD)
WHERE u.hr_employee_id = (182)

答案 1 :(得分:0)

好的,所以我通过删除$ hasmany下的Users引用来修复它。我们不需要它来调用那个页面,所以一切都很好。

现在有效。