Zend_Db_Table_Row 代表資料表單列資料,不可直接實例化,需透過 Zend_Db_Table::find() 或 fetchRow() 取得。本文說明屬性對應、修改儲存流程與主鍵不可變保護機制。
$table = new RoundTable();
$row = $table->fetchRow('first_name = "Robin"');
// 取得屬性(資料庫底線欄位自動轉駝峰)
// $row->id, $row->nobleTitle, $row->firstName, $row->favoriteColor
$row->favoriteColor = 'blue'; $row->save(); // 自動執行 UPDATE
嘗試修改主鍵(如 $row->id = 5)將拋出 Zend_Db_Table_RowException,確保資料完整性。這是 Active Record 模式的核心防呆設計。
first_name, favorite_colorfirstName, favoriteColor(駝峰式)此自動轉換依賴 Zend_Db_Table_Row_Abstract 內部的 _transformColumn() 方法,開發者無需手動映射。