本文整理汇总了PHP中Field::buildDSRetrivalSQL方法的典型用法代码示例。如果您正苦于以下问题:PHP Field::buildDSRetrivalSQL方法的具体用法?PHP Field::buildDSRetrivalSQL怎么用?PHP Field::buildDSRetrivalSQL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Field
的用法示例。
在下文中一共展示了Field::buildDSRetrivalSQL方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildDSRetrivalSQL
function buildDSRetrivalSQL($data, &$joins, &$where, $andOperation = false)
{
## Check its not a regexp
if (preg_match('/^mysql:/i', $data[0])) {
$field_id = $this->get('id');
$expression = str_replace(array('mysql:', 'value'), array('', " `t{$field_id}`.`value` "), $data[0]);
$joins .= " LEFT JOIN `tbl_entries_data_{$field_id}` AS `t{$field_id}` ON (`e`.`id` = `t{$field_id}`.entry_id) ";
$where .= " AND {$expression} ";
} else {
parent::buildDSRetrivalSQL($data, $joins, $where, $andOperation);
}
return true;
}
示例2: buildDSRetrivalSQL
function buildDSRetrivalSQL($data, &$joins, &$where, $andOperation = false)
{
$data[0] = self::__hashit($data[0]);
parent::buildDSRetrivalSQL($data, $joins, $where, $andOperation);
return true;
}
示例3: buildDSRetrivalSQL
/**
* Build data source retrival sql.
*
* @param array $data
* @param string $joins
* @param string $where
* @param boolean $andOperation
*/
function buildDSRetrivalSQL($data, &$joins, &$where, $andOperation = false)
{
if (self::isFilterRegex($data[0])) {
return parent::buildDSRetrivalSQL($data, $joins, $where, $andOperation);
}
$parsed = array();
foreach ($data as $string) {
$type = self::__parseFilter($string);
if ($type == self::ERROR) {
return false;
}
if (!is_array($parsed[$type])) {
$parsed[$type] = array();
}
$parsed[$type][] = $string;
}
foreach ($parsed as $type => $value) {
switch ($type) {
case self::RANGE:
if (!empty($value)) {
$this->__buildRangeFilterSQL($value, $joins, $where, $andOperation);
}
break;
case self::SIMPLE:
if (!empty($value)) {
$this->__buildSimpleFilterSQL($value, $joins, $where, $andOperation);
}
break;
}
}
return true;
}
示例4: buildDSRetrivalSQL
function buildDSRetrivalSQL($data, &$joins, &$where, $andOperation = false)
{
## Check its not a regexp
if (preg_match('/\\bto\\b/i', $data[0])) {
$field_id = $this->get('id');
list($from, $to) = preg_split('/\\bto\\b/i', $data[0]);
$from = trim($from);
$to = trim($to);
$from_sec = self::timeStringToInt($from);
$to_sec = self::timeStringToInt($to);
$joins .= " LEFT JOIN `tbl_entries_data_{$field_id}` AS `t{$field_id}` ON (`e`.`id` = `t{$field_id}`.entry_id) ";
$where .= " AND (t{$field_id}.`value` > {$from_sec} AND t{$field_id}.`value` < {$to_sec}) ";
} else {
$data[0] = self::timeStringToInt($data[0]);
parent::buildDSRetrivalSQL($data, $joins, $where, $andOperation);
}
return true;
}