> php教程 > PHP开发 > 본문

Zend Framework 튜토리얼 Zend_Db_Table_Row 사용 사례 분석

高洛峰
풀어 주다: 2017-01-05 09:49:59
원래의
1229명이 탐색했습니다.

이 문서의 예에서는 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 &#39;Zend/Db.php&#39;;
$params = array (
  &#39;host&#39;   => &#39;127.0.0.1&#39;,
  &#39;username&#39; => &#39;malory&#39;,
  &#39;password&#39; => &#39;******&#39;,
  &#39;dbname&#39;  => &#39;camelot&#39;
);
$db = Zend_Db::factory(&#39;PDO_MYSQL&#39;, $params);
// 为所有的Zend_Db_Table对象设置默认adapter
require_once &#39;Zend/Db/Table.php&#39;;
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(&#39;first_name = "Robin"&#39;);
//
// $row现在是一个带有多种公有属性的Zend_Db_Table_Row对象
// that map to table columns:
//
// $row->id = &#39;3&#39;
// $row->nobleTitle = &#39;Sir&#39;
// $row->firstName = &#39;Robin&#39;
// $row->favoriteColor = &#39;yellow&#39;
//
?>
로그인 후 복사

3. 데이터 수정

입니다. 행 데이터 수정이 매우 쉽습니다. 것들: 기존 방식에 따라 클래스 속성만 수정한 다음 save() 메소드를 호출하여 변경된 결과를 데이터 테이블에 저장하면 됩니다. 기본 키 값은 수정할 수 없습니다. 변경 작업을 수행하려고 하면 Zend_Db_Table_Row에서 예외가 발생합니다.

<?php
// 连接到数据库中的表
class RoundTable extends Zend_Db_Table {}
$table = new RoundTable();
// 从表中取回的结果数据是一个Zend_Db_Table_Row对象
$row = $table->fetchRow(&#39;first_name = "Robin"&#39;);
//
// $row现在是一个带有多种公有属性的Zend_Db_Table_Row对象
// that map to table columns:
//
// $row->id = &#39;3&#39;
// $row->nobleTitle = &#39;Sir&#39;
// $row->firstName = &#39;Robin&#39;
// $row->favoriteColor = &#39;yellow&#39;
//
// 改变favorite color字段,并且将变动存储到数据表中.
$row->favoriteColor = &#39;blue&#39;;
$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(&#39;first_name = "Robin"&#39;);
// 我们尝试修改主键值
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 Framework 튜토리얼 Zend_Db_Table_Row 사용 사례 분석 및 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿