Привет и доброго утра всем вам,
Я следую руководству по быстрому запуску от Роба Аллена. Я пытаюсь изменить некоторые вещи. Одна из вещей, которые я пытаюсь сделать, это получить такой запрос:
"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')));
to
$select->columns(array(new Expression('max(id) as id')));
затем я возвращаю объект с идентификатором 1. Это максимальный (идентификатор).
Но когда я добавляю в свой объект альбома в функцию exchangeArray одну строку с maxId, то она возвращает поле maxId.
НО, не может быть, чтобы мне нужно было делать это каждый раз, когда я просто хочу сделать такой запрос. Это действительно так?