1

我想生成像 day=>title 这样的列表:

$news = $this->News->find('list', array(
    'conditions' => array(
        'News.created LIKE' => '2008-09%'),
    'fields' => array(
        'DAY(News.created) AS day',
        'News.name'),
    'recursive' => -1));

...但是不起作用,为什么?

函数 SUBSTR/SUBSTRING 也...

当我将 find 与 'all' 属性一起使用时,DAY 函数运行良好!

4

1 回答 1

2

它不起作用,因为它DAY(News.created)是一个计算值,但如果你将它设为 virtual field ,它可能会起作用。

请注意,当您使用 时'all',结果数组上的每一行都将具有[0][day]该值的键,而不是[News][day]. 这意味着 Cake 不会将它识别为来自 model 的字段News,这就是为什么你不能将它与'list'.

于 2012-05-13T01:02:07.580 回答