Yii 1.1.13の時点では、SQLステートメントを使用する必要があり、直接使用する方法はありませんCDbCriteria
。
ただし、を使用する間接的な方法CDbCriteria
がありますが、最終的にはそれを使用してSQLコマンドを生成する必要があり、これを依存関係として渡します。この手法ではCDbCommandBuilder
、とその方法を使用します。
サンプル(理解のためにコメントを参照):
$criteria=new CDbCriteria;
// ... replace with code to set up your criteria ...
// ...
// first create commandBuilder instance
$commandBuilder = new CDbCommandBuilder(Yii::app()->db->schema);
// then create command using criteria
$command = $commandBuilder->createFindCommand('table_name', $criteria);
// then get sql statement text
$sql = $command->text;
// then set your dependency
$dependency = new CDbCacheDependency($sql);
// if you have params in the criteria, set the params for dependency
$dependency->params = $criteria->params;
// now your dependency is usable
上記で私が使用したcreateFindCommand
、のような他のメソッドがあります、あなたが実行しなければならないsqlステートメントを生成するものを使用してください。createCountCommand
CDbCommandBuilder
または、 Query Builderを使用することもできますが、もちろんそこにはありませんCDbCriteria
。