Zend Framework チュートリアル、zendzend_db_table_PHP チュートリアルでの Zend_Db_Table の使用法の詳細な説明

WBOY
リリース: 2016-07-12 08:56:03
オリジナル
782 人が閲覧しました

Zend Framework チュートリアル、zendzend_db_table での Zend_Db_Table の使用法の詳細な説明

この記事では、Zend_Db_Table の使用法を例とともに説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

1. はじめに

Zend_Db_Table は Zend Framework のテーブル モジュールです。zend_db_adapter を通じてデータベースに接続し、テーブル オブジェクトのデータベース スキーマを確認し、テーブルの操作とクエリを実行します。

2.スタート

まず、抽象クラス zend_db_table のデフォルトのデータベース アダプターを設定する必要があります (注: このクラスは抽象クラスであるため、直接インスタンス化できません。指定しない限り、最初にクラスを継承してからサブクラスをインスタンス化することしかできません)。他のタイプのデータベース アダプター。それ以外の場合、すべての zend_db_table クラス インスタンスはデフォルトのアダプターを使用します。

リーリー

次に、データベースに「round_table」という名前のテーブルがあると仮定します。このテーブルに zend_db_table を使用するには、zend_db_table クラスを継承し、RoundTable という名前の新しいクラスを作成します。その後、データベースでこのクラスを使用できるようになります。 Round_table テーブルを使用して、データ行を操作し、データ結果を取得します。

リーリー

3. テーブル名と主キー

デフォルトでは、zend_db_table クラスはそのクラス名をデータベース内のテーブル名として扱います (大文字と小文字が異なる場合は "_" を追加する必要があります)。たとえば、SomeTableName という名前の zend_db_table クラスは、次のテーブル "some_table_name" に対応します。この下線付きの形式でクラス名をデータベース テーブル名に対応させたくない場合は、クラスを定義するときに $_name を再構築できます。 リーリー

zend_db_table クラスのデフォルトのフィールド「id」はテーブルの主キーです (テーブルの主キーの名前が「$id」でない場合は、このフィールドを自動インクリメントするのが最善ですが、必須ではありません)。 、テーブル エンティティ クラス Refactor $_primary

を定義できます リーリー

テーブル エンティティ クラスの _setup() メソッドを通じてこれらの変数を設定することもできますが、変更後は必ずparent::_setup() メソッドを再度実行する必要があります。 リーリー

4. データを挿入します

新しいデータの行をテーブルに挿入するには、列名: データ連想配列をパラメーターとして使用して insert() メソッドを呼び出すだけです。

(zend フレームワーク) はデータを自動的に引用し、挿入された最後の行の ID 値を返します

(注: これは、挿入された行の数を返す zend_db_adapter::insert メソッドとは異なります)。

リーリー


5. データを更新します

テーブル内のデータの行を変更するには、パラメータとしてデータの連想配列である列名を設定し、update() メソッドを呼び出し、さらに where 条件句を使用して変更する必要がある行を決定します。このメソッドはテーブル内のデータを変更し、変更された行の数を返します。

(Zend フレームワード) は変更されたデータを自動的に引用しますが、このチェックには条件句が含まれないため、作業を完了するにはテーブルの zend_db_adapter オブジェクトを使用する必要があります。

リーリー

6. 行の削除

テーブル内のデータを削除するには、delete() メソッドを呼び出し、where 条件句を通じて削除する必要がある行を決定します。このメソッドは削除された行の数を返します。
(zend フレームワーク) は条件句を引用符で囲まないため、作業を完了するにはテーブルの zend_db_adapter オブジェクトを使用する必要があります
リーリー

7. 主キーに基づいてデータを検索します

find() メソッドを呼び出すと、主キー値を使用してテーブル内のデータを簡単に取得できます。特定のデータのみをクエリしたい場合は、このメソッドは zend_db_table_row オブジェクトを返します。また、複数のデータをクエリしたい場合は、このメソッドは zend_db_table_row オブジェクトを返します。 records は、zend_db_table_rowset オブジェクトを返します。

リーリー 8. レコードを取得します

主キーを通じて対応するデータ行を見つけるのは非常に便利ですが、多くの場合、zend_db_table はこの機能を実現するために fetchRow() メソッドを提供します。 () メソッドは where 条件ステートメント (およびオプションの order ステートメント) を通じて呼び出すことができ、その後 zend_db_tabel は条件を満たす最初のデータ行の zend_db_table_row オブジェクトを返します。

(zend フレームワーク) は where ステートメントに引用符を追加しないので、zend_db_adapter を通じてデータ処理を実行する必要があることに注意してください リーリー

9. 複数のレコードを取得します

一度に複数のレコードを取得する必要がある場合は、 fetchRow() メソッドを使用するのと同様に、このメソッドは where 句と order 句を設定できるだけでなく、limit-count と limit- も設定できます。オフセット値。返される結果の数を制限します。このメソッドを実行した後、選択した結果を Zend_Db_Table_Rowset オブジェクトとして返します。 (zend フレームワーク) は where ステートメントを引用しないので、zend_db_adapter を通じてデータ処理を実行する必要があることに注意してください。 リーリー

10. ドメインロジックの追加

Zend Framework のテーブル モジュールとして、Zend_Db_Table は独自のドメイン ロジックにうまくカプセル化します。たとえば、データ変更が送信される前に操作と検証を実装するために、insert() メソッドと update() メソッドをオーバーロードできます。 リーリー

同様に、独自の find() メソッドを設定して、主キー以外の他のフィールドを通じてデータをクエリすることもできます。

<&#63;php
class RoundTable extends Zend_Db_Table
{
  public function findAllWithName($name)
  {
    $db = $this->getAdapter();
    $where = $db->quoteInto("name = &#63;", $name);
    $order = "first_name";
    return $this->fetchAll($where, $order);
  }
}
&#63;>

ログイン後にコピー

更多关于zend相关内容感兴趣的读者可查看本站专题:《Zend FrameWork框架入门教程》、《php优秀开发框架总结》、《Yii框架入门及常用技巧总结》、《ThinkPHP入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Zend Framework框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
  • Zend Framework教程之Zend_Db_Table_Row用法实例分析
  • Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
  • Zend Framework开发入门经典教程
  • Zend Framework框架Smarty扩展实现方法
  • Zend Framework框架路由机制代码分析
  • Zend Framework实现具有基本功能的留言本(附demo源码下载)
  • Zend Framework实现将session存储在memcache中的方法
  • Zend Framework分页类用法详解
  • Zend Framework实现多文件上传功能实例
  • Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
  • Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
  • Zend Framework教程之Zend_Db_Table表关联实例详解

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1113742.htmlTechArticleZend Framework教程之Zend_Db_Table用法详解,zendzend_db_table 本文实例讲述了Zend_Db_Table用法。分享给大家供大家参考,具体如下: 1. 简介 Zend_Db_T...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート