PropelでCriteriaから生のSQLを出力したい
条件を設定したCriteriaオブジェクトを生のSQLを出力してくれる。
function getSqlOfCriteria($c)
{
$params = array();
$r = BasePeer::createSelectSql($c, $params);
$o = preg_replace('/:p[0-9]+/', '%s', $r);
$ggg = array();
foreach($params AS $e)
{
if(is_integer($e['value']) OR is_bool($e['value']))
{
$ggg[] = $e['value'];
}
else
{
$ggg[] = "'".$e['value']."'";
}
}
$sql = vsprintf($o, $ggg);
return $sql;
}