0

我有一个模型、控制器和员工视图。每个员工都有:id, name, dateofjoin, dateofbirth, religion, address等。

employee/index-> 我列出了所有员工,但只列出了一些字段(id 和 name)。在右侧,我有“查看”按钮来查看详细信息。

当我点击“查看”按钮时,它会显示所有字段的详细信息:id、姓名、加入日期、出生日期、宗教、地址等。

我想要的是:我需要提供额外的信息,这些信息是: - 这个人为我们工作了多少年?- 他多大了 ?

别担心,我有查询要做。但我不知道在哪里放置查询。

在简单的查询中,我有:

SELECT DATEDIFF(NOW(),'dateofjoin')

SELECT DATEDIFF(NOW(),'dateofbirth')

他们两个会告诉我答案,但再一次,我必须在哪里以及如何提出查询?

4

1 回答 1

0

你需要使用虚拟字段见手册

在你的模型中

public $virtualFields =  array(
    'age' => 'DATEDIFF(NOW(),dateofbirth)',
    'working_time' => 'DATEDIFF(NOW(),dateofjoin)'
);

并在控制器中

$this->Employee->find('all', array('fields' => array('id', 'name', 'religion', 'age', 'working_time'));
于 2013-10-29T08:56:49.497 回答