Maison php教程 PHP开发 Tutoriel Zend Framework, analyse d'un exemple d'utilisation de Zend_Db_Table_Row

Tutoriel Zend Framework, analyse d'un exemple d'utilisation de Zend_Db_Table_Row

Jan 05, 2017 am 09:49 AM

L'exemple de cet article décrit l'utilisation de Zend_Db_Table_Row dans le tutoriel Zend Framework. Partagez-le avec tout le monde pour référence, comme suit :

1. Introduction

Zend_Db_Table_Row est la passerelle de données de lignes de Zend Framework. De manière générale, vous ne pouvez pas instancier Zend_Db_Table_Row vous-même, mais en appelant Zend_Db_Table. ::find() ou Zend_Db_Table::fetchRow() renvoie Zend_Db_Table_Row comme données de résultat. Une fois que vous obtenez un objet Zend_Db_Table_Row, vous pouvez modifier la valeur de l'enregistrement (reflétée comme un attribut de classe) puis appeler la méthode save(). Enregistrez les modifications apportées à la table d'origine.

2. Récupérez un enregistrement

Tout d'abord, vous devez instancier une classe 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();
?>
Copier après la connexion

Ensuite, utilisez Zend_Db_Table : find() et la clé primaire pour interroger, ou utilisez la méthode Zend_Db_Table::fetchRow() pour interroger.
Le résultat renvoyé est un objet Zend_Db_Table_Row, le nom d'attribut de l'objet est sous la forme de camelCaps correspondant au souligné nom de la table dans la base de données .
Par exemple, si le nom de la table est first_name, alors l'attribut modifié dans la classe est 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;
//
?>
Copier après la connexion

Modifier les données

C'est le cas. très facile à modifier les données des lignes Choses : Il vous suffit de modifier les attributs de classe selon la méthode conventionnelle. Ensuite, appelez la méthode save() pour enregistrer les résultats modifiés dans la table de données

<?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();
?>
Copier après la connexion

Cependant, vous ne pouvez pas modifier la valeur de la clé primaire. Si vous essayez d'effectuer une opération de changement, Zend_Db_Table_Row lèvera une exception.

<?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();
}
?>
Copier après la connexion

J'espère que cet article sera utile à la programmation PHP de chacun basée sur Zend. Cadre-cadre.

Pour plus de didacticiels Zend Framework, d'analyses d'exemples d'utilisation de Zend_Db_Table_Row et d'articles connexes, veuillez faire attention au site Web PHP chinois !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)