Моя таблица выглядит что-то вроде этогоВыберите строку из RowSet в ZF2
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();
Это функция, которая получает альбомы UserId как RowSet
public function getAlbumsByUserId($userId)
{
$userId = (int) $userId;
$rowset = $this->tableGateway->select(array('user_id' => $userId));
return $rowset;
}
Я мог бы сделать Еогеасп на объекте RowSet, чтобы найти UniqueID с, если заявление, но я должен думать, т вот лучший способ.
Редактировать:
Я до сих пор не нашел способ сделать выбор из набора результатов, но вы можете сделать 2 условия в выбранном массиве.
Похоже, это может быть то, что я ищу; соединитесь внутри. Я попробую. Спасибо :) – Jordan
После просмотра соединения, я могу использовать только объединение для объединения двух таблиц, а не двух наборов строк, я обновил вопрос с помощью формата таблицы и того, что я пытаюсь сделать. – Jordan
Возможно, попробуйте использовать Where with И если у вас есть оба номера. SELECT album FROM youtable WHERE userId = '1' AND uniqueId = '3'. – kilop