Idiormが軽量のORマッパー。PHP5用
https://github.com/j4mie/idiorm
Idiormを使って軽量なActive Recordを実装したのがParis。
https://github.com/j4mie/paris
参考) PHPの薄いDBライブラリ「Idiorm」を使ってみた
http://qiita.com/naga3/items/87fef230ac86aeec1eea
ドキュメントが充実している。
Idiormのドキュメント
http://idiorm.readthedocs.org/en/latest/index.html
Parisのドキュメント
http://paris.readthedocs.org/en/latest/index.html
文字コードの指定方法 等
アソシエーションについて
http://paris.readthedocs.org/en/latest/associations.html
Has-one
デフォルトでは、関連テーブルの中に外部キーとして元のテーブル名に「_id」を付けたカラムがあることを想定している。
他の名前が付いている場合は、has_one()の第2引数にカラム名を指定する。
外部キーがデフォルトのuser_idではなくabc_idだったら
Has many
Belongs to
Has many through
多対多。以下は、複数の著者を持つかもしれないBookと複数の本を書いているかもしれない著者の関係。
デフォルトとして想定されている中間テーブル名はAuthorBookで、2つのテーブル名をアルファベット順で繋げたもの。
テーブル名やカラム名が想定されるものと違う場合は、デフォルト値をオーバーライドする。
第1引数: 関連テーブル名
第2引数: 中間テーブル名
第3引数: 中間テーブル上の基本テーブルを示すカラム名
第4引数: 中間テーブル上の関連テーブルを示すカラム名
第5引数: 基本テーブルの外部キー名
第6引数: 関連テーブルの外部キー名
limit, offset等の指定方法
Userテーブルから、
typeがa、配列$idsに含まれるidを除いて、10件オフセット、id降順で20件取得する例
GROUP BYを使う