Yii-active-record
Yii-アクティブレコード
Active Recordは、データにアクセスするためのオブジェクト指向APIを提供します。 Active Recordクラスはデータベーステーブルに関連付けられています。
Yiiは、次のリレーショナルデータベースのActive Recordサポートを提供します-
- MySQL 4.1以降
- SQLite 2および3:
- PostgreSQL 7.3以降
- Microsoft SQL Server 2008以降
- CUBRID 9.3以降
- オラクル
- ElasticSearch
- スフィンクス
さらに、Active Recordクラスは次の NoSQL データベースをサポートしています-
- Redis 2.6.12以降
- MongoDB 1.3.0以降
別のデータベーステーブルのActive Recordクラス(この例では MyUser モデル)を宣言した後、次の手順に従ってデータをクエリする必要があります-
- yii \ db \ ActiveRecord :: find()メソッドを使用して、新しいクエリオブジェクトを作成します。
- クエリオブジェクトを作成します。
- クエリメソッドを呼び出してデータを取得します。
ステップ1 *-このように actionTestDb()*メソッドを変更します。
上記のコードは、ActiveQueryを使用してデータをクエリする方法を示しています。
ステップ2 *- *http://localhost:8080/index.php?r = site/test-db に移動すると、次の出力が表示されます。
主キー値または列値のセットによるクエリは一般的なタスクであるため、Yiiは次のメソッドを提供します-
- * yii \ db \ ActiveRecord :: findOne()*-単一のアクティブレコードインスタンスを返します
- * yi \ db \ ActiveRecord :: findAll()*-Active Recordインスタンスの配列を返します
例-
データベースにデータを保存する
- データベースにデータを保存するには、* yii \ db \ ActiveRecord
- save()*メソッドを呼び出す必要があります。
ステップ1 *-このように actionTestDb()*メソッドを変更します。
ステップ2 *- *http://localhost:8080/index.php?r = site/test-db に移動すると、次の出力が表示されます。
データの単一の行を削除するには、する必要があります-
- アクティブレコードインスタンスを取得する
- yii \ db \ ActiveRecord :: delete() メソッドを呼び出します
ステップ1 *-このように actionTestDb()*メソッドを変更します。
ステップ2 *-Webブラウザのアドレスバーに *http://localhost:8080/index.php?r = site/test-db と入力すると、次の出力が表示されます。
- ステップ3 *- yii \ db \ ActiveRecord
- deleteAll()*メソッドを呼び出して、複数のデータ行を削除することもできます。