水曜日, 12月 6, 2006, 11:38 AM - PHP
約束したので、LiveRecordの記述の仕方を断片的になるかも知れませんが、説明します。まず、LiveRecordクラスは必ず継承して利用します。まぁAbstractクラスになっているので直接は利用できませんが。
1.データベースに接続できる状況を作ってください。xFrameworkで。
2.そこにtbl_testというテーブルを作り、id(int)、name(varchar(100))のフィールドを用意します。
さて、これで普通に
SELECT * FROM tbl_test;
とかで取得できるはずです。
では、同じことをする準備をします。
LiveRecordクラスを継承したクラス「tbl_test」を用意します。このときのクラス名はテーブル名と同一にしてください。
class tbl_test extends LiveRecord {
....
}
といった形になると思います。特にメソッドなどは用意しなくて結構です。
これをAutoload.xmlなどに設定してrequireしなくて良いように、したいところですが、テーブルが増える度にautoload.xmlに設定するのは、手間ですしミスがうまれるかもしれません。なので、これを_libraryに配置して、ライブラリとして自動的に読み込むようにします。
単純に、作成したtbl_test.class.phpと_libraryに配置するだけです。
さて、使ってみましょう。
indexAction.class.phpのexecute中に下記のように記述します。
$objTBL = new tbl_test( $this->objDatabase->getConnection() );
$objTBLがLiveRecordを継承したtbl_testクラスです。
これで、操作準備OKです。
では、実際に先ほどのSELECTを同一の処理を行ってみます。
$arrParams = array();
$arrRows = $objTBL->select( $arrParams );
これだけです。SELECTに関する条件などの情報は、引数の$arrParamsに記述します。
長くなってきたので、次回SELECTのいくつかの例を記載したいと思います。