Heim > php教程 > PHP开发 > Hauptteil

Zend Framework-Tutorial, Beispielanalyse für die Verwendung von Zend_Db_Table_Row

高洛峰
Freigeben: 2017-01-05 09:49:59
Original
1229 Leute haben es durchsucht

Das Beispiel in diesem Artikel beschreibt die Verwendung von Zend_Db_Table_Row im Zend Framework-Tutorial. Teilen Sie es wie folgt mit allen:

1. Einführung

Zend_Db_Table_Row ist das Zeilendaten-Gateway von Zend Framework. Im Allgemeinen können Sie Zend_Db_Table_Row nicht selbst instanziieren, sondern indem Sie The Zend_Db_Table aufrufen Die ::find()-Methode oder die Zend_Db_Table::fetchRow()-Methode gibt Zend_Db_Table_Row als Ergebnisdaten zurück. Sobald Sie ein Zend_Db_Table_Row-Objekt erhalten, können Sie den Datensatzwert (als Klassenattribut widergespiegelt) ändern und dann die save()-Methode aufrufen. Speichern Sie die Änderungen an der Originaltabelle.

2. Rufen Sie einen Datensatz ab

Zuerst müssen Sie eine Zend_Db_Table-Klasse instanziieren.

<?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();
?>
Nach dem Login kopieren

Als nächstes verwenden Sie Zend_Db_Table: find()-Methode und Primärschlüssel zum Abfragen oder verwenden Sie die Zend_Db_Table::fetchRow()-Methode zum Abfragen.
Das zurückgegebene Ergebnis ist ein Zend_Db_Table_Row-Objekt, der Attributname des Objekts liegt in der Form von CamelCaps vor, die dem Unterstrichenen entspricht Tabellenname in der Datenbank.
Wenn der Tabellenname beispielsweise „Vorname“ lautet, ist das geänderte Attribut in der Klasse „Vorname“.

<?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;
//
?>
Nach dem Login kopieren

3 Daten ändern

Das ist es sehr einfach, Zeilendaten zu ändern: Sie müssen nur die Klassenattribute gemäß der herkömmlichen Methode ändern. Rufen Sie dann die Methode save() auf, um die geänderten Ergebnisse in der Datentabelle zu speichern. Sie können den Wert des Primärschlüssels nicht ändern. Wenn Sie versuchen, eine Änderungsoperation durchzuführen, löst Zend_Db_Table_Row eine Ausnahme aus.

<?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();
?>
Nach dem Login kopieren

Ich hoffe, dass dieser Artikel für alle auf Zend basierenden PHP-Programmierungen hilfreich sein wird Rahmenrahmen.

<?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();
}
?>
Nach dem Login kopieren
Weitere Zend Framework-Tutorials, Zend_Db_Table_Row-Nutzungsbeispielanalysen und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage