Yii フレームワークでの CRUD 操作: データベース操作の簡素化

WBOY
リリース: 2023-06-21 12:34:06
オリジナル
1149 人が閲覧しました

Yii フレームワークは、MVC アーキテクチャに基づいた高性能 Web アプリケーション開発フレームワークで、強力なデータベース サポートと使いやすい CRUD 操作を備えています。 CRUD 操作とは、データベース内のデータに対する追加、削除、変更 (作成、読み取り、更新、削除) の操作を指します。この記事では、Yii フレームワークでの CRUD 操作と、それを活用してデータベース操作を簡素化する方法について詳しく説明します。

1. モデル

Yii フレームワークでは、モデルはデータベース テーブルに関連付けられたクラスであり、データベース内のデータを操作するために使用できます。 Yii フレームワークでは、Gii ツールを通じてモデルクラスを迅速に生成できます。 Gii は Yii フレームワークに付属するコード ジェネレーターで、コントローラー、モデル、フォーム、ビューなどの基本的なコードを自動的に生成できます。 Gii によって生成されたモデル クラスを通じて、データベース内のデータを直接追加、削除、変更、クエリすることができます。

たとえば、アプリケーションに users という名前のユーザー テーブルがあります。次のコマンドを使用して、対応するモデル クラスを生成できます:

yii gii/model --tableName=users
ログイン後にコピー

生成されたモデル クラスは次のとおりです:

namespace appmodels;

use Yii;

/**
 * This is the model class for table "users".
 *
 * @property int $id
 * @property string $username
 * @property string $email
 * @property string $password_hash
 * @property int $status
 * @property string|null $auth_key
 * @property string|null $access_token
 */
class Users extends yiidbActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'users';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['username', 'email', 'password_hash'], 'required'],
            [['status'], 'integer'],
            [['username', 'email', 'password_hash', 'auth_key', 'access_token'], 'string', 'max' => 255],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'username' => 'Username',
            'email' => 'Email',
            'password_hash' => 'Password Hash',
            'status' => 'Status',
            'auth_key' => 'Auth Key',
            'access_token' => 'Access Token',
        ];
    }
}
ログイン後にコピー

モデル クラスでは、テーブル名、フィールド ルール、フィールド ラベル、その他の情報を指定できます。 yiidbActiveRecordクラスを継承することでデータベース操作を簡単に行うことができます。

2. クエリ

Yii フレームワークでは、データをクエリするさまざまな方法があります。次の側面からそれを紹介しましょう:

1. すべてのデータをクエリする

$users = Users::find()->all();
ログイン後にコピー

モデル クラスの find() メソッドを呼び出すことでクエリ オブジェクトを取得できます。 all() メソッドの呼び出し すべてのクエリ結果。

2. 単一のデータをクエリする

$user = Users::findOne($id);
ログイン後にコピー

モデル クラスの findOne() メソッドを呼び出すことで、クエリ結果を取得できます。

3. 条件付きクエリ

$users = Users::find()
    ->where(['status' => 1])
    ->orderBy('id DESC')
    ->all();
ログイン後にコピー

モデル クラスの where() メソッドと orderBy() メソッドを呼び出すことで、クエリ条件と並べ替えルールを指定できます。

3. 新しいデータの追加

Yii フレームワークでは、新しいデータの追加は非常に簡単で、配列を渡すだけです。例:

$user = new Users();
$user->username = 'test';
$user->email = 'test@example.com';
$user->password_hash = '123456';
$user->status = 1;
$user->save();
ログイン後にコピー

モデル クラスの save() メソッドを呼び出すと、データがデータベースに自動的に保存されます。

4. データの更新

Yii フレームワークでは、データの更新も非常に簡単で、更新したいデータをクエリし、変更して保存するだけです。例:

$user = Users::findOne($id);
$user->username = 'newUsername';
$user->save();
ログイン後にコピー

モデル クラスの findOne() メソッドを呼び出して更新するデータを取得し、対応するフィールドを変更して、再度 save() メソッドを呼び出してデータを更新できます。

5. データの削除

データの削除はデータの更新と似ており、最初に削除するデータをクエリしてから、delete() メソッドを呼び出す必要もあります。例:

$user = Users::findOne($id);
$user->delete();
ログイン後にコピー

モデル クラスの delete() メソッドを呼び出すことで、対応するレコードをデータベースから削除できます。

6. 概要

この記事では、Yii フレームワークの CRUD 操作と、それを使用してデータベース操作を簡素化する方法について詳しく紹介しました。 Yii フレームワークが提供するデータのクエリ、追加、更新、削除のメソッドを使用することで、SQL ステートメントの手書きを回避し、開発効率を向上させ、コーディングをよりシンプルかつ明確にすることができます。

以上がYii フレームワークでの CRUD 操作: データベース操作の簡素化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!