Yii Framework Active Record Behavior that outputs the raw SQL generated by a given Data Provider.
If your like me, then you have had occasion to want to see or manipulate the raw SQL generated by a Data Provider. CTheSQL does just that.
-
Extract of clone to your application.extensions folder
-
Add the following to your main config:
'import'=>array(..,'ext.CTheSQL.*',)
-
Add CTheSQL behavior to your desired model(s):
public function behaviors(){ return array(..,'CTheSQL'=>'ext.CTheSQL.CTheSQL',); }
$model = new MyModelName('search');
$sql = $model->sql; //Default Data Provider is 'search'
echo $sql;
model = new MyModelName('search');
$model->attributes = $_GET['MyModelName'];
$dataProvider = $model->searchGrid();
$dataProvider->criteria->addCondition('t.status > 0');
$sql = $model->getSql($dataProvider); //optional 2nd param tableAlias default = 't'
echo $sql;