Edited at

FUELPHP 1.8のORMバグについて

More than 1 year has passed since last update.


FUELPHP 1.8のORMバグについて

もう最近まったく話題に上がることもないFUELPHPですが、

ORMのバグ has_many で from_cache=false にすると関連レコードが 1件しか取得されない 

このバグはこの表題だと普通に使っていれば問題ないように見えたんだけど

例えば

$where = [

['status', '=', 'active']//こっちは有効
['bbb.tcx_id', '>', 0],//こっちは効いていない
];
$query = \Model_Aaa::query()->related('bbb')->where($where)->get();

みたいなクエリの bbbに対するWHEREが無視される、って現象があった。

最初はXDEBUGでずっとデバッグして???と思ったけど、var_dump()祭りして気づいた。

コレ致命的なバグじゃねぇか!

詳しい状況は覚えていないけどかなりハマったのでメモ。

その時は急いでいたので、DB::query()で書き直してとりあえず解決したけど

何かいい解決方法はないのかな?