我猜你正在使用TableGateway fetch_province?
如果你返回一個結果集(即項目的集合),你可以得到一個單一的行/項是這樣的:
$rowset => $this->getProvincesTable()->fetch_province($pid);
$myItem = $rowset->current();
$myItem->id; // do something with it here..
這會給你一個數組/ ArrayObject的,然後您可以訪問得到你的ID。
你可以在你的TableGateway方法中這樣做,所以如果你試圖獲得單個條目,或者你有時期望多個條目可以迭代它們或使用current()方法。
如果你發佈了一些更多的代碼(特別是fetch_province),我可以提供更好的建議。
例如;
如果你總是想從這個方法1項背使用主鍵,你可以做這樣的事情裏面fetch_province:
$results = $table->select(array('id' => $id));
if(count($results) != 1) {
// something went wrong,
// throw exception here or what ever
}
$row = $results->current();
return $row; // now u always get back your single item