本文整理汇总了PHP中aql::in_transaction方法的典型用法代码示例。如果您正苦于以下问题:PHP aql::in_transaction方法的具体用法?PHP aql::in_transaction怎么用?PHP aql::in_transaction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aql
的用法示例。
在下文中一共展示了aql::in_transaction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: select
/**
* Executes a select query on the DB
* @param mixed $aql aql | model name | aql array
* @param array $clause clause array | true (for $obj)
* @param mixed $obj Boolean or object name
* @param string $statement If passing in an aql array, use this to also pass in
* the aql statement
* @param Boolean $force Force master DB read
* @param mixed $conn Specific DB connection
* @return array
* @global $is_dev
* @throws \Sky\AQL\Exception if model not found
*/
public function select($aql, $clause = array(), $obj = false, $statement = null, $force = false, $conn = null)
{
global $is_dev;
$conn = $conn ?: self::getDB();
$silent = aql::in_transaction();
if (!is_array($clause) && $clause === true) {
$obj = true;
}
if (!$aql) {
return array();
}
if (is_array($aql)) {
$aql_array = $aql;
} else {
if (self::is_aql($aql)) {
$statement = $aql;
$aql_array = aql2array($statement);
} else {
$m = $aql;
$statement = self::get_aql($m);
if (!$statement) {
$e = new \Sky\AQL\Exception(' AQL Error: Model ' . $m . ' is not defined. ' . PHP_EOL . "path/to/models/{$m}/{$m}.aql is empty or not found.");
if (!$silent) {
self::$errors[] = $e;
return array();
}
throw $e;
}
$aql_array = aql2array::get($m, $statement);
}
}
if ($obj && !is_bool($obj) && $m) {
$obj = $m;
}
if (is_array($clause)) {
$clause = self::check_clause_array($aql_array, $clause);
}
if ($_GET['aql_debug'] && $is_dev) {
print_a($aql_array);
}
$returned = self::make_sql_array($aql_array, $clause);
if ($_GET['aql_debug'] && $is_dev) {
print_a($returned);
}
if ($_GET['refresh']) {
$force = true;
}
$params = array('object' => $obj, 'aql_statement' => $statement, 'sub_do_set' => $force);
return self::sql_result($returned, $params, $conn);
}