我的桌子看起来像这样
id uniqueId userId album
1 1 1 Example
2 2 1 Example
3 1 2 Example
4 3 1 Example
5 2 2 Example
我想在哪里找到专辑标题(哪里 id => 4 userId => 1
,uniqueId => 3
但我无法访问它,只有另外两个)。
为此,我试图getAlbumsByUserId($userId)
返回一个带有用户 1 相册的 RowSet 对象。然后我试图从返回的行集中获取专辑,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 对象上做一个 foreach,用 if 语句找到 uniqueId,但我必须认为有更好的方法。
编辑:
我仍然没有找到从结果集中进行选择的方法,但是您可以在选择数组中执行 2 where 条件。