ホームページ php教程 PHP开发 Zend Framework チュートリアル Zend_Db_Table_Row の使用例分析

Zend Framework チュートリアル Zend_Db_Table_Row の使用例分析

Jan 05, 2017 am 09:49 AM

この記事の例では、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() メソッドを呼び出して変更結果を保存します。データテーブル。

<?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_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(&#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 フレームワークに基づいた PHP プログラミング。

Zend Framework チュートリアル Zend_Db_Table_Row の使用例分析関連記事の詳細については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)