本文整理汇总了PHP中aql::is_aql方法的典型用法代码示例。如果您正苦于以下问题:PHP aql::is_aql方法的具体用法?PHP aql::is_aql怎么用?PHP aql::is_aql使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aql
的用法示例。
在下文中一共展示了aql::is_aql方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getModelAql
/**
* sets model name based on aql, sets this as a tmp model (_aql_set_in_constructor)
* @param string $aql aql statemnt or empty
* @return Model
*/
public function getModelAql($aql = null)
{
if ($this->getStoredAql()) {
return $this;
}
if (!$aql) {
$this->_getAql($this->_model_name);
} elseif (aql::is_aql($aql)) {
$this->_aql = $aql;
$this->_aql_set_in_constructor = true;
} else {
$this->_model_name = $aql;
$this->_getAql($this->_model_name);
}
return $this;
}
示例2: aql2array
/**
* shorthand for the aql2array class
* @param string $aql
* @return array
*/
function aql2array($param1, $param2 = null)
{
if (aql::is_aql($param1)) {
$r = new aql2array($param1);
return $r->aql_array;
} else {
return aql2array::get($param1, $param2);
}
}
示例3: autoGenerate
/**
* Returns a getList object with filters defined based on the given AQL
* @param string $aql
* @param Boolean $search_operators
* @return \getList
* @throws \Exception if invalid AQL
*/
public static function autoGenerate($aql, $search_operators = false)
{
if (!aql::is_aql($aql)) {
throw new \Exception('autoGenerate requires AQL.');
}
$aql_array = aql2array($aql);
$min_aql = aql::minAQLFromArr($aql_array);
$fields = array();
foreach ($aql_array as $k => $f) {
$fields = array_merge($fields, $f['fields']);
}
$lst = new self();
$lst->setAQL($min_aql)->defineFilters(array_map(function ($field) use($lst, $search_operators, $fields) {
$op = array_search($field, $fields);
return array('operator' => $search_operators ? $op : null, 'callback' => function ($val) use($lst, $fields, $field) {
$where = \getList::prepVal(\getList::csvToArray($val));
$lst->where[] = "{$field} in {$where}";
});
}, $fields));
return $lst;
}
示例4: value
/**
* @param string $param1
* @param string $param2
* @param mixed $options
* @return mixed
*/
public static function value($param1, $param2, $options = array())
{
if (!$param2) {
return null;
}
// third param can be a db connection resource
if (is_object($options) && get_class($options) == 'ADODB_postgres7') {
$db_conn = $options;
$options = array();
}
// get connection
$db_conn = $db_conn ?: $options['db'];
$db_conn = $db_conn ?: self::getDB();
$is_aql = aql::is_aql($param1);
// normalize primary table and aql
if ($is_aql) {
$aql = $param1;
$primary_table = aql::get_primary_table($aql);
} else {
list($primary_table, $field) = explode('.', $param1);
$aql = "{$primary_table} { {$field} }";
}
// get where
$multiple = false;
$where = call_user_func(function () use($primary_table, $param2, &$multiple) {
$spr = '%s.%s = \'%s\'';
$decrypt = function ($r) use($primary_table) {
return is_numeric($r) ? $r : decrypt($r, $primary_table);
};
if (is_numeric($param2)) {
return sprintf($spr, $primary_table, 'id', $param2);
}
if (!is_array($param2)) {
// check for ide
$id = $decrypt($param2);
if (is_numeric($id)) {
return sprintf($spr, $primary_table, 'id', $id);
}
// otherwise check for slug field on table
if (!aql2array::table_field_exists($primary_table, 'slug')) {
return;
}
return sprintf($spr, $primary_table, 'slug', $param2);
}
// this is an array
$multiple = true;
$param2 = array_filter(array_map($decrypt, $param2));
$param2[] = -1;
$ids = implode(',', $param2);
return "{$primary_table}.id in ({$ids})";
});
// return if we dont find a where clause
if (!$where) {
return false;
}
$clause = array($primary_table => array('where' => array($where), 'order by' => 'id asc'));
$rs = aql::select($aql, $clause, null, null, null, $db_conn);
if ($multiple) {
return $rs;
}
if ($is_aql) {
return $rs[0];
}
return $rs[0][$field];
}