私のテーブルはこんな感じです
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
アルバム タイトルの場所と(id => 4 の場合)を見つけたいのですがuniqueId => 3
、それにはアクセスできません。他の 2 つだけです)。
これを行うためにgetAlbumsByUserId($userId)
、ユーザー 1 のアルバムを含む RowSet オブジェクトを返すことを試みています。次に、返された行セットからアルバムを取得しようとしてuniqueId => 3
いますが、以下のようなものは機能しません
$albumObject = $albumTable->getAlbumsByUserId(1);
$row = $albumObject->select(array('uniqueAlbumID' => 3))->current();
UserId ごとに Albums を RowSet として取得する関数です
public function getAlbumsByUserId($userId)
{
$userId = (int) $userId;
$rowset = $this->tableGateway->select(array('user_id' => $userId));
return $rowset;
}
if ステートメントで uniqueId を見つけるために、RowSet オブジェクトで foreach を実行することもできますが、もっと良い方法があると考えなければなりません。
編集:
私はまだ結果セットから選択する方法を見つけていませんが、選択配列で条件を2つ実行できます。