CakePHP 2.1 用于查询的平均函数

标签 cakephp cakephp-2.1 average

我正在使用 cakephp 2.1,我想获得特定电影的平均电影评级。 其中“Movie”是一个模型,它包含“Language”和“CriticReview”作为模型。 数组结构如下。

    array(
(int) 0 => array(
    'Movie' => array(
        'id' => '4',
        'name' => 'Maattrraan',
        'cover_image' => '/movies/4d0d1c41d956a2cb2ab93603d1fdf70c.jpg',
        'release' => '2012-10-12',
        'runtime' => '',
        'budget' => '65 crore',
        'box_office' => '',
        'language_id' => '2',
        'industry_id' => '3'
    ),
    'Language' => array(
        'id' => '2',
        'name' => 'tamil'
    ),
    'CriticReview' => array(
        (int) 0 => array(
            'rating' => '4',
            'movie_id' => '4'
        ),
                    (int) 1 => array(
                            'rating' => '3',
                            'movie_id' => '4'
                    )
    )
),
(int) 1 => array(
    'Movie' => array(
        'id' => '1',
        'name' => 'Romeo',
        'cover_image' => '/movies/32aa2788fa5e1584d4c627c56214574e.jpg',
        'release' => '2012-07-06',
        'runtime' => '',
        'budget' => '',
        'box_office' => '',
        'language_id' => '1',
        'industry_id' => '1'
    ),
    'Language' => array(
        'id' => '1',
        'name' => 'kannada'
    ),
    'CriticReview' => array(
        (int) 0 => array(
            'rating' => '6',
            'movie_id' => '1'
        ),
                    (int) 1 => array(
                            'rating' => '3',
                            'movie_id' => '1'
                    )
    )
));

所以我必须接受评论家的评论。请帮我找出解决方案。这项工作将是可观的。

最佳答案

我不知道您的查询现在是什么样子,但您可以尝试添加此字段:

$this->Movie->find("all", array(
    "fields"     => array("AVG(CriticReview.rating) AS AverageRating"),
    "conditions" => ...
));

返回的数组现在将在每部电影中包含一个子数组,其键为 0,如下所示

[0] => Array
    (
        [AverageRating] => AVG_CALCULATED_BY_MYSQL
    )

我个人更喜欢保存计算数据而不是动态计算。也许您想阅读这个问题:MySQL - Calculating fields on the fly vs storing calculated data

关于CakePHP 2.1 用于查询的平均函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069353/

相关文章:

php - CakePHP 2.1 初学者教程?

python - 元组列表中具有相同索引的所有元素的平均值

php - CakePHP 在查询中遗漏了 AND 语句

cakephp-2.1 - CakePHP 2.2.2 烘焙插件

javascript - 我如何在 "Combinator"css 压缩插件中使用单个 css 文件?

cakephp - 在 cakePHP 中限制和重定向其他用户

vba - Excel 宏平均值

sql - 需要根据每个财政周计算平均成本

javascript - 无法让 document.getElementById() 找到我的文本区域

cakephp - 在 cakephp 中的 ajax 渲染 View 上加载 ajax