よく使うやつだけ、ぱぱっとまとめておく
SELECT
入れ子
$Entities = Model_XXX::find('all', array(
'where' => array(
array('yyy_zzz', $hoge),
),
));
メソッドチェーン(こっちの方が見やすくて推奨)
// 1レコード取得時
$Entity = Model_XXX::query()
->where('aaa_bbb', '=', $hoge)
->where('xxx_zzz', '=', 0)
->get_one();
// 複数レコード取得時
$Entities = Model_XXX::query()
->where('aaa_bbb', '=', $hoge)
->get();
JOIN
Modelクラスで
リレーションを定義すれば、JOINできる($_has_manyや$_belongs_toなど)
$Entity = Model_XXX::query()
->related('Modelのプロパティ')
->get();
INSERT
$data['hoge'] = $this->hoge;
$data['huga'] = $target['foo'];
// インスタンスの作成
$entity = Model_XXX::forge ( $data );
// INSERT実行
$entity->save();
UPDATE
$entity = Model_xxx::query()
->where('hoge', '=', $target['fuga'])->get_one();
$entity->foo = 'bar';
$entity->save();
DELETE
// 1レコード取得後削除
Model_yyy::query()
->where('hoge', '=', $hogehoge)
->where('fuga', '=', $fugafuga)
->get_one()
->delete();
// 複数レコード取得
$entities = Model_xxx::query()
->where('foo', '=', $foofoo)
->where('bar', '=', $barbar')
->get();
// 件数分、削除
foreach($entities as $entity) {
$entity->delete();
}
ログ出力(おまけ)
直前の発行されたクエリを取得できる
\Log::debug(DB::last_query());