こんにちは、おはようございます。
マニュアルのRobAllenによるqickstartチュートリアルに従っています。私はいくつかのことを変えようとしています。私がやろうとしていることの1つは、次のようなクエリを取得することです。
"SELECT max(id) FROM Albums";
私は次のようなことを試みました
$this->select();
$this->columns(array('id' => 'MAX(id)'));
どうやらこれはそれを行う方法ではありません。おそらく何らかの式オブジェクトが必要です。
誰かがこれを解決する方法を教えてもらえますか?
編集(上記を忘れて)
このコード全体は、マニュアル(ZF2)のクイックスタートに基づいています。私は次のようなクエリを作成できました。
$select = $this->getSql()->select();
$select->columns(array(new Expression('max(id) as MaxId')));
$rowset = $this->selectWith($select);
$row = $rowset->current();
return $row;
この結果、空のオブジェクトになります。
しかし、私が変わるとき
$select->columns(array(new Expression('max(id) as MaxId')));
に
$select->columns(array(new Expression('max(id) as id')));
次に、idが1のオブジェクトを取得します。これはmax(id)です。
しかし、アルバムオブジェクトを関数exchangeArrayにmaxIdを含む1行追加すると、maxIdフィールドが返されます。
しかし、このようなクエリを実行するたびにこれを実行する必要があるということはあり得ません。これは本当にそれが機能する方法ですか?