2012-05-13 40 views
1

我想生成列表如同白晝=>標題:CakePHP的列表與SQL函數

$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也...

當我使用找到 '所有' 的財產,功能DAY做工不錯!

+0

「不起作用」是什麼意思?發生了什麼,你期望發生什麼?你必須更具體,否則我們將無法幫助你。 –

+0

生成不正確的列表 – kicaj

+0

我知道這個問題已經得到解答,但即使「生成不正確的列表」也沒有什麼幫助。我們應該如何知道這種情況下「不正確」?它和「不起作用」一樣有用。你應該提供你得到的清單和你想要的清單的例子。請記住將來的問題。 –

回答

2

它不會工作,因爲DAY(News.created)是一個計算值,但它可能會工作,如果你使它成爲virtual field

請注意,當您使用'all'時,結果數組上的每一行將具有該值的[0][day]鍵,而不是[News][day]。這意味着Cake不會將其識別爲News型號的字段,這就是爲什麼您不能將其與'list'一起使用。

+0

非常感謝,virtualFields非常棒! – kicaj