当前位置: 首页>>代码示例>>PHP>>正文


PHP ActiveRecord::get方法代码示例

本文整理汇总了PHP中ActiveRecord::get方法的典型用法代码示例。如果您正苦于以下问题:PHP ActiveRecord::get方法的具体用法?PHP ActiveRecord::get怎么用?PHP ActiveRecord::get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ActiveRecord的用法示例。


在下文中一共展示了ActiveRecord::get方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: paginate_by_sql

 /**
  * Paginador por sql
  *	
  * @param string $model nombre del modelo
  * @param string $sql consulta sql
  *
  * page: numero de pagina a mostrar (por defecto la pagina 1)
  * per_page: cantidad de elementos por pagina (por defecto 10 items por pagina)
  *			
  *	
  * Retorna un PageObject que tiene los siguientes atributos:
  *  next: numero de pagina siguiente, si no hay pagina siguiente entonces es false
  *  prev: numero de pagina anterior, si no hay pagina anterior entonces es false
  *  current: numero de pagina actual
  *  total: total de paginas que se pueden mostrar
  *  items: array de items de la pagina
  *  count: Total de registros
  *
  * Ejemplos:
  *  $page = paginate_by_sql('usuario', 'SELECT * FROM usuario' , 'per_page: 5', "page: $page_num");
  *	
  * @return object
  **/
 public static function paginate_by_sql($model, $sql)
 {
     $params = Util::getParams(func_get_args());
     $page_number = isset($params['page']) ? $params['page'] : 1;
     $per_page = isset($params['per_page']) ? $params['per_page'] : 10;
     $start = $per_page * ($page_number - 1);
     /**
      * Si es una cadena, instancio el modelo
      **/
     if (is_string($params[0])) {
         $m = Util::camelcase($params[0]);
         $model = ActiveRecord::get($m);
     }
     /**
      * Instancia del objeto contenedor de pagina
      **/
     $page = new stdClass();
     /**
      * Cuento las apariciones atraves de una tabla derivada
      **/
     $n = $model->count_by_sql("SELECT COUNT(*) FROM ({$sql}) AS t");
     $page->items = $model->find_all_by_sql($model->limit($sql, "offset: {$start}", "limit: {$per_page}"));
     /**
      * Se efectuan los calculos para las paginas
      **/
     $page->next = $start + $per_page < $n ? $page_number + 1 : false;
     $page->prev = $page_number > 1 ? $page_number - 1 : false;
     $page->current = $page_number;
     $page->total = $n % $per_page ? (int) ($n / $per_page) + 1 : $n / $per_page;
     $page->count = $n;
     $page->per_page = $per_page;
     return $page;
 }
开发者ID:raalveco,项目名称:Escuela,代码行数:56,代码来源:paginate.php

示例2: select_tag

/**
 * Crea una lista SELECT
 *
 * @param string $name
 * @param array, string $data
 *
 * selected: opcion seleccionada
 * include_blank: incluir opcion con valor nulo, se muestra en la opcion el texto aqui indicado
 *
 * Para el select basado en activerecord:
 * option: lista de campos separados por coma para colocar en la opcion (por defecto es el id)
 * separator: separador de valores para los campos de la opcion
 * value: indica el campo que servira de valor para la opcion (por defecto es el id)
 * conditions: condiciones de busqueda
 *
 * @return string
 *
 * Ejemplos:
 * select_tag('marca_id', 'Marca', 'conditions: tipo="2"', 'option: nombre')
 * select_tag('marca_id', 'Marca', 'SELECT * FROM marca WHERE tipo="2"', 'option: nombre')
 * select_tag('sexo', array('M' => 'Masculino', 'F' => 'Femenino'), 'include_blank: Seleccione uno...')
 */
function select_tag($name, $data = array())
{
    $params = is_array($name) ? $name : Util::getParams(func_get_args());
    /**
     * Obtengo id, name y value
     **/
    $params = array_merge(get_id_and_name($params[0]), $params);
    if (!isset($params['selected'])) {
        $value = get_value_from_action($params[0]);
        if ($value) {
            $params['selected'] = $value;
        }
    }
    if (!isset($params[1])) {
        return xhtml_start_tag('select', $params);
    }
    if (isset($params['selected'])) {
        $selected = $params['selected'];
        unset($params['selected']);
    }
    if (isset($params['separator'])) {
        $separator = $params['separator'];
        unset($params['separator']);
    } else {
        $separator = '';
    }
    $options = '';
    if (isset($params['include_blank'])) {
        $options .= "\t" . xhtml_tag('option', array('value' => ''), "content: {$params['include_blank']}");
        unset($params['include_blank']);
    }
    if (is_array($params[1])) {
        if (isset($params[1][0]) && is_object($params[1][0])) {
            if (isset($params['option'])) {
                $fields = array_map('trim', explode(',', $params['option']));
                unset($params['option']);
            } else {
                $fields = array('id');
            }
            foreach ($params[1] as $item) {
                $value = $item->primary_key[0];
                $vals = array();
                foreach ($fields as $option) {
                    array_push($vals, $item->{$option});
                }
                $k = $item->{$value};
                $v = implode($vals, $separator);
                if (isset($selected) && $selected == $k) {
                    $options .= "\t" . option_tag($k, $v, 'selected: selected');
                } else {
                    $options .= "\t" . option_tag($k, $v);
                }
            }
        } else {
            foreach ($params[1] as $k => $v) {
                if (isset($selected) && $selected == $k) {
                    $options .= option_tag($k, $v, 'selected: selected');
                } else {
                    $options .= option_tag($k, $v);
                }
            }
        }
    } elseif (is_string($params[1])) {
        if (isset($params['option'])) {
            $fields = array_map('trim', explode(',', $params['option']));
            unset($params['option']);
        } else {
            $fields = array('id');
        }
        /**
         * combo creado a partir de un modelo
         **/
        $m = ActiveRecord::get($params[1]);
        if (isset($params['value'])) {
            $value = $params['value'];
            unset($params['value']);
        } else {
            $m2 = clone $m;
//.........这里部分代码省略.........
开发者ID:raalveco,项目名称:Escuela,代码行数:101,代码来源:tags.php

示例3: authenticate

 /**
  * Autentica un usuario usando el adaptador
  *
  * @return boolean
  */
 public function authenticate()
 {
     $where_condition = array();
     foreach ($this->compare_attributes as $field => $value) {
         $value = addslashes($value);
         $where_condition[] = "{$field} = '{$value}'";
     }
     $result = Load::model($this->class)->count(join(" AND ", $where_condition));
     if ($result) {
         $model = ActiveRecord::get($this->class)->find_first(join(" AND ", $where_condition));
         $identity = array();
         foreach ($model->fields as $field) {
             /**
              * Trata de no incluir en la identidad el password del usuario
              */
             if (!in_array($field, array('password', 'clave', 'contrasena', 'passwd', 'pass'))) {
                 $identity[$field] = $model->{$field};
             }
         }
         $this->identity = $identity;
     }
     return $result;
 }
开发者ID:elgodmaster,项目名称:app-distribuidora,代码行数:28,代码来源:model_auth.php


注:本文中的ActiveRecord::get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。