我有一个模型,控制器和员工视图。每个员工都有:id, name, dateofjoin, dateofbirth, religion, address
等。
在 employee/index
-> 中 我列出了所有员工,但只列出了某些字段(ID 和名称)。 在右侧,我有"查看"按钮以查看详细信息。
当我单击"查看"按钮时,它将显示所有字段的详细信息:ID,姓名,加入日期,出生日期,宗教,地址等。
我想要的是:我需要输入其他信息,这些信息是:- 这个人为我们工作了多少年?- 他多大了?
别担心,我有查询可以做到这一点。 但我不知道在哪里放置查询。
在普通查询中,我有:
SELECT DATEDIFF(NOW(),'dateofjoin')
SELECT DATEDIFF(NOW(),'dateofbirth')
他们两个会告诉我答案,但再一次,我必须在哪里以及如何放置查询?
您需要使用虚拟字段,请参阅手册
在您的模型中
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'));