从特定列的表中查找最大数量

时间:2016-11-27 12:01:54

标签: php mysql cakephp

我有一个表名' IpRelay'和'伏特'是列名之一。我从伏列中提取最大电压。

这是我的控制器代码

$this->set('max_num', $this->IpRelay->query("SELECT MAX(volt) FROM ip_relays"));

这是我的观看代码

<?php echo $max_num; ?>

但它不起作用。它给了我一个通知&#34;数组到字符串转换&#34;。

4 个答案:

答案 0 :(得分:1)

在控制器代码中尝试:

$this->set('max_num', $this->IpRelay->query("SELECT MAX(volt) AS max_num FROM ip_relays"));

查看代码:

<?php echo $max_num[0][0]['max_num']; ?>

您需要在视图代码中使用数组,因为query方法结果为array

答案 1 :(得分:0)

无论您尝试获取多少结果,它都将始终返回一个数组,您需要获取第一个元素。尝试:

<?php echo $max_num[0] ?>

答案 2 :(得分:0)

将您的查询修改为

$this->set('max_num', $this->IpRelay->query("SELECT MAX(volt) AS max_volt FROM ip_relays"));

你可以像这样回应

echo $max_num[0]['max_volt'];

答案 3 :(得分:0)

为什么要运行自定义查询。试试cakephp orm

$max = $this->IpRelay->find('all', 
        array(
            'fields' => array(
                'MAX(IpRelay.volt) AS max_value'
            ))
        );
    debug($max[0][0]['max_value']);

   $this->set('max_num', $max[0][0]['max_value']);

在视图中回显max_num。我希望你能得到最大值。