如何在CakePHP中使用聚合Mysql函数

时间:2011-04-08 02:49:56

标签: mysql cakephp

有一种方法可以使用cakephp的agregate函数吗?比如sum()或avg()和find()方法。

更新

我错过了书中的一行

array('fields'=>array('Product.type','MIN(Product.price) as price'), 'group' => 'Product.type');

显示这样做的基本结构。

感谢您的帮助

2 个答案:

答案 0 :(得分:5)

在find方法调用的fields参数中,您可以传递由聚合函数处理的字段。例如:

$Model->find('all',
    array(
        'anything' => array(/* */),
        'fields' => array(
            'SUM (Model.attribute) AS total',
            'OTHERFUNCTION(OModel.other_attribute) AS other'
        ),
        'otherthing' => array(/* */)
    )
);

答案 1 :(得分:-5)

以完全相同的方式,因为CakePHP只是一个PHP框架。

<?php
// Make a MySQL Connection

$query = "SELECT type, SUM(price) FROM products GROUP BY type"; 

$result = mysql_query($query) or die(mysql_error());

// Print out result
while($row = mysql_fetch_array($result)){
    echo "Total ". $row['type']. " = $". $row['SUM(price)'];
    echo "<br />";
}
?>