2016-11-27 21 views
-3

テーブル名が 'IpRelay'で、 'volt'が列名の1つです。私はボルトの列から最大電圧を抽出します。ここ特定の列のテーブルから最大数を見つける

私のコントローラのコード

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

と、ここで私の見解コードが

ある
<?php echo $max_num; ?> 

しかし、それは動作しません。それは私に "Array to string conversion"の通知を与えます。

+0

try <?php print_r($ max_num); ?> – Ima

+0

私はこれを試しました。それは私に "Array([0] => Array([0] => Array([MAX(volt)] => 562)))"という値を与えます。しかし、私は値 "562"だけをどのように抽出するのか分かりません。 –

+0

配列全体を渡しています。あなたは$ max_num [0] [0] ['MAX(volt)'] – Amir

答えて

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あるので、ビューコードで配列を使用する必要があります。

+0

を渡す必要があります。どうもありがとうございました。 –

0

フェッチしようとしている結果の数に関係なく常に配列を返します。最初の要素を取得する必要があります。試してみてください。

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

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

にクエリを変更し、カスタムクエリを実行しているなぜあなたはこの

echo $max_num[0]['max_volt']; 
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']); 

echo max_num view。私はあなたが最大の価値を得ることを願っています。

関連する問題