Doctrine
第 1 版(2010-04-26 10:02:11 · akkun_choi)を表示しています。 最新版に戻る
PHPのORM。SymfonyのデフォルトORMになった
http://www.doctrine-project.org/documentation/manual/1_2/ja
DQL
SQLをDoctrineで扱い易いように解釈したもの
Doctrin_QueryをtoStringするとこれが取得できる
- テーブル名の変換(クラス名→テーブル名)
- Joinの変換
from等で指定する場合テーブル名でなく対応するクラス名を入力する。
基本
$collection = Doctrine::getTable('User')->findAll(); // Doctrine_Collection
$collection = Doctrine::getTable('Diary')->createQuery()
->where('user_id = ?', 1)
->execute();
$record = $collection = Doctrine::getTable('Diary')->create(
array('user_id' => 1, 'text' => 'text')); // Doctrine_Record
$record->save();
ハイドレーション
データ取得の方法。
// クラス定義して
class Doctrine_Hydrator_MyHydrator extends Doctrine_Hydrator_Abstract{ ... }
// 登録して
$manager->registerHydrator('my_hydrator', 'Doctrine_Hydrator_MyHydrator');
// fetchするときに指定
$q->execute(array(), 'my_hydrator');履歴
- 第 2 版akkun_choi2010-07-01 21:25:12
- 第 1 版akkun_choi2010-04-26 10:02:11