簡體   English   中英

cakephp一年中每月COUNT項

[英]cakephp COUNT items per month in a year

你如何使用cakephp計算,例如一年中每個月發布的帖子數量?

最好使用Model-> find('count')並獲取數組中的數據。

我只是做了類似的事情,只使用CakePHP(沒有直接查詢)。 它適用於CakePHP 2,尚未在1.x中測試過。

您的示例的代碼將是這樣的:

$params = array(
  'recursive' => -1,
  'fields' => array('id', 'MONTH(created)')
  'group' => array('YEAR(created)', 'MONTH(created)')
);

$numberOfPosts = $this->Model->find('count', $params);

這很接近

詢問

$data = $this->Post->query("SELECT COUNT(id),MONTH(created) FROM posts GROUP BY YEAR(created), MONTH(created);");

返回

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [COUNT(id)] => 1
                    [MONTH(created)] => 3
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [COUNT(id)] => 2
                    [MONTH(created)] => 4
                )

        )

)

使用蛋糕時,我更喜歡盡可能靠近框架。 這意味着我盡量避免直接在控制器中編寫查詢,因為這會導致模型代碼無處不在。 因此,我推薦兩種解決方案之一

1 :(以及我對更復雜的東西做的事情):為要進行的計算創建一個視圖,並創建一個匹配的模型。

2:使用前面提到的查詢,但將其放在模型類中,而不是應用程序類中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM