pool/web/yaamp/core/common/libdbo.php
Tanguy Pruvot b8df948174 hide test coins (non visible) from pool stats
use an advanced yii db criteria and a relation definition
2015-12-15 22:21:15 +01:00

87 lines
1.8 KiB
PHP

<?php
///////////////////////////////////////////////////////////////////////
function getdbo($class, $id)
{
$record = CActiveRecord::model($class);
$table = $record->getTableSchema();
$sql = "$table->primaryKey=:db_key";
return $record->find($sql, array(':db_key'=>$id));
// return $record->findByPk($id);
}
function getdbosql($class, $sql='1', $params=array())
{
// debuglog("$class, $sql");
return CActiveRecord::model($class)->find($sql, $params);
}
function getdbolist($class, $sql='1', $params=array())
{
// debuglog("sql $sql");
return CActiveRecord::model($class)->findAll($sql, $params);
}
function getdbocount($class, $sql='1', $params=array())
{
// debuglog("sql $sql");
return CActiveRecord::model($class)->count($sql, $params);
}
function dborun($sql, $params=array())
{
$command = app()->db->createCommand($sql);
foreach($params as $name=>$value)
$command->bindValue($name, $value);
return $command->execute();
}
function dboscalar($sql, $params=array())
{
$command = app()->db->createCommand($sql);
foreach($params as $name=>$value)
$command->bindValue($name, $value);
return $command->queryScalar();
}
function dborow($sql, $params=array())
{
$command = app()->db->createCommand($sql);
foreach($params as $name=>$value)
$command->bindValue($name, $value);
return $command->queryRow();
}
function dbocolumn($sql, $params=array())
{
$command = app()->db->createCommand($sql);
foreach($params as $name=>$value)
$command->bindValue($name, $value);
return $command->queryColumn();
}
function dbolist($sql, $params=array())
{
$command = app()->db->createCommand($sql);
foreach($params as $name=>$value)
$command->bindValue($name, $value);
return $command->queryAll();
}
function getdbolistWith($model, $with, $criteria)
{
return CActiveRecord::model($model)->with($with)->findAll($criteria);
}