次のコードがあります。
$somethingArray = array( 3, 4, 5 );
$myObjects = MyObjQuery::create()
->filterBySomething( $somethingArray )
->filterById( array( 'min' => $minMyObjID ) )
->orderByObjTimestamp('DESC')
->find();
Propel のドキュメントによると、これは「something」が somethingArray 配列内にあるかどうか、ID が > $minMyObjID であるかどうかを最終的にチェックする SQL コマンドになるはずです。ただし、ID は > ではなく IN です。
代わりに次のようにすると:
$myObjects = MyObjQuery::create()
->filterBySomething( $somethingArray )
->where( 'id > ' . $minMyObjID )
->orderByObjTimestamp('DESC')
->find();
結果として得られる SQL は、私が期待するものです。これは Propel のバグですか? それとも、filterByXXX パラメーターに関してドキュメントを誤解していますか?