이 문서의 예에서는 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 // 设置一个 adapter require_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对象设置默认adapter require_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() 메소드를 호출하여 변경된 결과를 데이터 테이블에 저장하면 됩니다. 기본 키 값은 수정할 수 없습니다. 변경 작업을 수행하려고 하면 Zend_Db_Table_Row에서 예외가 발생합니다.
<?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를 기반으로 하는 모든 사람의 PHP 프로그래밍에 도움이 되기를 바랍니다. 프레임워크 프레임워크.
<?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(); } ?>