クラス PADO は PowerCMS X のデータベース接続・データベース操作を担当するPHPのクラスです。
<?php
require_once( 'class.PADO.php' );
$db = new PADO();
$objects = $db->model( 'entry' )->load();
foreach ( $objects as $obj ) {
echo $obj->title, '<br />';
}
$entry = $db->model( 'entry' )->new();
$entry->title( 'PHP Alternative Database Object' );
$entry->published_on( date( 'YmdHis' ) );
$entry->save();
$db = $app->db;
// または
$do = PADO::get_instance();
設定を初期化してデータベースへの接続を行います。
PADOBaseModel クラスのオブジェクトを生成して返します。
※ PADOBaseModel クラスのloadメソッドを参照
トランザクションを開始します。
現在のトランザクションによるデータの変更処理をコミットします。
現在のトランザクションによるデータの変更処理をロールバックします。
入力文字列のまわりに引用符を付け(必要であれば)、 入力文字列にあるシングルクオートをエスケープします。
LIKE句に渡す値をエスケープします。
値を(メモリ上に)キャッシュするか、キャッシュ済みの値を返します。
キャッシュを破棄します。
PADOBaseModel は ActiveRecordタイプのデータベース・レコードです。データベースのレコードはオブジェクト(PowerCMS X の MVCにおける Modelを担う PADOBaseModel、PADOBaseModel を継承した PADOMySQL)として扱われます。
<?php
$do = PADO::get_instance();
$entry = $db->model( 'entry' );
$terms = ['title' => 'Hello', 'excerpt' => 'This is description of Hello.'];
$args = ['limit' => 10, 'offset' => 10, 'sort' => 'id', 'direction' => 'ascend'];
// Load Objects.
$entries = $entry->load( $terms, $args );
foreach ( $entries as $entry ) {
echo $obj->title, '<br />';
}
// Like Statement.
$phrase = $db->escape_like( 'PADO' );
$terms['text' => ['like' => $phrase] ];
$entries = $entry->load( $terms );
// Count Objects.
$count = $entry->count( $terms );
// New Object.
$entry = $entry->new();
$entry->title( 'New Entry' );
$entry->set_values(
['text' => 'This is body of new Entry.',
'published_on' => date( 'YmdHis' ) ]
);
$entry->save();
// Delete Object.
$entry = $entry->load( 1 );
$entry->remove();
新しいオブジェクトを生成します。
SELECT文を発行してオブジェクトをロードします。
SELECT文を発行してオブジェクトをロードします。戻り値が PDOStatement である点を除けば loadメソッドとの違いはありません。
$params にマッチするオブジェクトが存在する場合はそのオブジェクト、存在しない場合は新規にオブジェクトを生成して値をセットします。
条件にマッチするオブジェクトの数を返します
オブジェクトに指定した名前のカラムが存在するかどうかを返します。
指定したカラムのすべての値から重複を取り除いたリストを取得し、それぞれの値について、その値を持つオブジェクトの数をカウントして返します。
array $args : グループ化するカラムの配列
array $result : 該当する値とカウント数の配列
オブジェクトを保存します(INSERTもしくはUPDATE文を発行します)。
saveメソッドのエイリアスです。
オブジェクトの配列から複数のオブジェクトを新規保存もしくは一括アップデートします。
オブジェクトを削除します(DELETE文を発行します)。
removeメソッドのエイリアスです。
オブジェクトの配列を渡して複数のオブジェクトを一括削除します。
レコードの値の配列を返します。
レコードの値をセットします。
オブジェクトのカラム名をキーにしたカラムと値の配列を返します。
オブジェクトの値とカラム型を照合してバリデーションを行います。
Ymd形式の数値を Y-m-d形式に変換します。
His形式の数値を H:i:s形式に変換します。
YmdHis形式の数値を Y-m-d H:i:s形式に変換します。
Y-m-d H:i:s形式の文字列を YmdHis形式に変換します。