Model_Crud クラス
はじめに
データベース操作のほとんどは基本的な CRUD (Create Retrieve Update Delete) 操作に落ち着くことになる。 Model_Crud クラスは標準的な方法でその機能を提供します。このクラスは以下をサポートします:
- データベースエンティティの作成
- データベースエンティティの取得
- データベースエンティティの更新
- データベースエンティティの削除
- 入力値バリデーション
最初のモデル
Model_Crud クラスを利用するために、\Model_Crud を継承したクラスを作ります。例:
<?php
class Model_Users extends \Model_Crud
{
// 利用したいテーブル名をセット
protected static $_table_name = 'users';
}
これで動作する基本的なモデルになりました。
設定
モデルの設定はいくつかのパラメータによって行われます:
パラメータ | 型 | デフォルト | 説明 | 例 |
---|---|---|---|---|
$_table_name | string | 必須 | 利用するテーブル。 |
|
$_primary_key | string |
|
テーブルの id フィールド名。 |
|
$_rules | array | なし | 入力値のバリデーションルール |
|
$_labels | array | なし | バリデーションのラベル。 |
|
$_properties | array | なし | 更新/保存に使うカラム名。 |
|
$_mass_whitelist | array | なし |
以下でセットすることを許可するカラムの配列: __construct 、 ::forge ->set() |
|
$_mass_blacklist | array | なし | 以下でセットすることを許可しないカラムの配列: __construct 、 ::forge と ->set() メソッド。 |
|
$_mass_whitelist はプロパティの一斉割り当てをするときに許可する追加のセキュリティ機構です。 __construct 、 ::forge と ->set を 使った時にだけ動作することに注意してください。 |
||||
$_connection | string | なし | データベースコネクションを使う、またはマスター/スレーブの読み込みに使うコネクション。設定しない場合は、DB 設定がデフォルトで使用されます。 |
|
$_write_connection | string | なし | マスター/スレーブへの書き込みで使用するデータベースコネクション。 |
|
$_defaults | array | なし | デフォルト値の配列 |
|
$_created_at | string | なし | 'created_at' のフィールド名。$_mysql_timestamp に true をセットすると UNIX タイムスタンプの代わりに、MySQL のタイムスタンプを使用します。 |
|
$_updated_at | string | なし | 'updated_at' のフィールド名。$_mysql_timestamp に true をセットすると UNIX タイムスタンプの代わりに、MySQL のタイムスタンプを使用します。 |
|
$_mysql_timestamp | boolean | なし | true にセットすると UNIX タイムスタンプの代わりに MySQL のタイムスタンプが $_created_at と $_updated_at のフィールドに入ります。 |
|