Zend Framework教程之Zend_Db_Table_Row用法執行個體分析,zendframework2執行個體_PHP教程

來源:互聯網
上載者:User

Zend Framework教程之Zend_Db_Table_Row用法執行個體分析,zendframework2執行個體


本文執行個體講述了Zend Framework教程之Zend_Db_Table_Row用法。分享給大家供大家參考,具體如下:

1. 簡介

Zend_Db_Table_Row是Zend Framework的行資料閘道.通常來說,你不可以自己執行個體化Zend_Db_Table_Row, 而是通過調用Zend_Db_Table::find()方法或者Zend_Db_Table::fetchRow()方法將Zend_Db_Table_Row作為 結果資料返回過來.一旦你得到來一個Zend_Db_Table_Row對象,你可以修改記錄值(體現為類的屬性)然後 調用save()方法可以將更改儲存到原表上.

2. 取回一條記錄

首先,需要執行個體化一個Zend_Db_Table類.

<?php// 設定一個 adapterrequire_once 'Zend/Db.php';$params = array (  'host'   => '127.0.0.1',  'username' => 'malory',  'password' => '******',  'dbname'  => 'camelot');$db = Zend_Db::factory('PDO_MYSQL', $params);// 為所有的Zend_Db_Table對象設定預設adapterrequire_once 'Zend/Db/Table.php';Zend_Db_Table::setDefaultAdapter($db);// 串連到資料庫中的某一個表class RoundTable extends Zend_Db_Table {}$table = new RoundTable();?>

接下來,使用Zend_Db_Table::find()方法和主鍵進行查詢,或者使 用Zend_Db_Table::fetchRow()方法查詢.
得到的返回結果是一個Zend_Db_Table_Row 對象,該對象的屬性名稱採用camelCaps的形式對應資料庫中帶底線的表名.
如,表名 若為first_name,那麼類中的改屬性則為firstName.

<?php// 從表中取回的結果資料是一個Zend_Db_Table_Row對象$row = $table->fetchRow('first_name = "Robin"');//// $row現在是一個帶有多種公有屬性的Zend_Db_Table_Row對象// that map to table columns://// $row->id = '3'// $row->nobleTitle = 'Sir'// $row->firstName = 'Robin'// $row->favoriteColor = 'yellow'//?>

3. 修改資料

修改行資料是一件很輕鬆的事情:只需要按照常規的方法修改類屬性.然後調用save()方法 就將改變的結果儲存到了資料表中.

<?php// 串連到資料庫中的表class RoundTable extends Zend_Db_Table {}$table = new RoundTable();// 從表中取回的結果資料是一個Zend_Db_Table_Row對象$row = $table->fetchRow('first_name = "Robin"');//// $row現在是一個帶有多種公有屬性的Zend_Db_Table_Row對象// that map to table columns://// $row->id = '3'// $row->nobleTitle = 'Sir'// $row->firstName = 'Robin'// $row->favoriteColor = 'yellow'//// 改變favorite color欄位,並且將變動儲存到資料表中.$row->favoriteColor = 'blue';$row->save();?>

但是,你不能夠修改主鍵的值.假如你試圖進行改操作, Zend_Db_Table_Row將拋出一個異常.

<?php// 串連到資料庫中的表class RoundTable extends Zend_Db_Table {}$table = new RoundTable();// fetch a record from the table as a Zend_Db_Table_Row object$row = $table->fetchRow('first_name = "Robin"');// 我們嘗試修改主索引值try {  $row->id = 5;  echo "We should not see this message, as an exception was thrown.";} catch (Zend_Db_Table_RowException $e) {  echo $e->getMessage();}?>

更多關於zend相關內容感興趣的讀者可查看本站專題:《Zend FrameWork架構入門教程》、《php優秀開發架構總結》、《Yii架構入門及常用技巧總結》、《ThinkPHP入門教程》、《php物件導向程式設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家基於Zend Framework架構的PHP程式設計有所協助。

您可能感興趣的文章:

  • Zend Framework架構教程之Zend_Db_Table_Rowset用法執行個體分析
  • Zend Framework教程之Zend_Db_Table用法詳解
  • Zend Framework教程之Zend_Form組件實現表單提交並顯示錯誤提示的方法
  • Zend Framework開發入門經典教程
  • Zend Framework架構Smarty擴充實現方法
  • Zend Framework架構路由機制程式碼分析
  • Zend Framework實現具有準系統的留言本(附demo源碼下載)
  • Zend Framework實現將session儲存在memcache中的方法
  • Zend Framework分頁類用法詳解
  • Zend Framework實現多檔案上傳功能執行個體
  • Zend Framework入門之環境配置及第一個Hello World樣本(附demo源碼下載)
  • Zend Framework教程之串連資料庫並執行增刪查的方法(附demo源碼下載)
  • Zend Framework教程之Zend_Db_Table表關聯執行個體詳解

http://www.bkjia.com/PHPjc/1113741.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1113741.htmlTechArticleZend Framework教程之Zend_Db_Table_Row用法執行個體分析,zendframework2執行個體 本文執行個體講述了Zend Framework教程之Zend_Db_Table_Row用法。分享給大家供大家參考...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.