Моя таблица выглядит примерно так
id uniqueId userId album
1 1 1 Example
2 2 1 Example
3 1 2 Example
4 3 1 Example
5 2 2 Example
Я хотел бы найти название альбома, где userId => 1
и uniqueId => 3
(где id => 4, но у меня не будет доступа к этому, только два других).
Для этого я пытаюсь getAlbumsByUserId($userId)
что вернет объект RowSet с альбомами пользователя 1. Затем я пытаюсь получить альбом из возвращенного набора строк с помощью uniqueId => 3
Что-то вроде приведенного ниже не будет работать$albumObject = $albumTable->getAlbumsByUserId(1);
$row = $albumObject->select(array('uniqueAlbumID' => 3))->current();
Это функция, которая получает альбомы по идентификатору пользователя в виде набора строк.
public function getAlbumsByUserId($userId)
{
$userId = (int) $userId;
$rowset = $this->tableGateway->select(array('user_id' => $userId));
return $rowset;
}
Я мог бы выполнить foreach для объекта RowSet, чтобы найти уникальный идентификатор с помощью оператора if, но я должен думать, что есть лучший способ.
Редактировать:
Я до сих пор не нашел способ сделать выбор из набора результатов, но вы можете сделать 2, где условия в массиве выбора.