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


PHP Zend_Db_Table_Select::columns方法代码示例

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


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

示例1: direct

 /**
  * Get DataTable data
  *
  * @param Zend_Db_Table_Select $select
  * @param array|null $columns
  * @return array
  */
 public function direct(Zend_Db_Table_Select $select, $columns = null)
 {
     $table = $select->getTable();
     if (!$columns) {
         $columns = $table->info(Zend_Db_Table_Abstract::COLS);
     }
     $colCount = count($columns);
     $request = $this->getRequest();
     /*
      * Ordering
      */
     if (null !== $request->getParam('iSortCol_0', null)) {
         for ($i = 0, $l = $request->getParam('iSortingCols'); $i < $l; $i++) {
             if ($request->getParam('bSortable_' . (int) $request->getParam('iSortCol_' . $i))) {
                 $select->order($columns[(int) $request->getParam('iSortCol_' . $i)] . " " . $request->getParam('sSortDir_' . $i));
             }
         }
     }
     /*
      * Filtering
      * NOTE this does not match the built-in DataTables filtering which does it
      * word by word on any field. It's possible to do here, but concerned about efficiency
      * on very large tables, and MySQL's regex functionality is very limited
      */
     if ($search = $request->getParam('sSearch')) {
         for ($i = 0; $i < $colCount; $i++) {
             $select->orHaving("{$columns[$i]} LIKE ?", '%' . $search . '%');
         }
     }
     /* Individual column filtering */
     for ($i = 0; $i < $colCount; $i++) {
         if ($request->getParam('bSearchable_' . $i) == "true") {
             if ($search = $request->getParam('sSearch_' . $i)) {
                 $select->having("{$columns[$i]} LIKE ?", '%' . $search . '%');
             }
         }
     }
     //save current query for fetching data
     $query = clone $select;
     $tableName = $table->info(Zend_Db_Table::NAME);
     $expr = new Zend_Db_Expr('COUNT(*) as total');
     /* Data set length after filtering */
     if ($select->getPart(Zend_Db_Select::FROM)) {
         $select->columns($expr);
     } else {
         $select->from($tableName, $expr);
     }
     /* Data no result */
     if ($iFilteredTotal = $table->fetchRow($select)) {
         $iFilteredTotal = $iFilteredTotal->total;
     } else {
         $iFilteredTotal = 0;
     }
     $query->limit($request->getParam('iDisplayLength'), $request->getParam('iDisplayStart'));
     /*
      * SQL queries
      * Get data to display
      */
     if ($query->getPart(Zend_Db_Select::FROM)) {
         $query->columns($columns);
     } else {
         $query->from($tableName, $columns);
     }
     // Get total rows count
     $select = $table->select()->from($tableName, $expr);
     $iTotalRecords = $table->fetchRow($select)->total;
     return array("sEcho" => (int) $request->getParam('sEcho'), "aaData" => $table->fetchAll($query)->toArray(), "iTotalRecords" => $iTotalRecords, "iTotalDisplayRecords" => $iFilteredTotal);
 }
开发者ID:shahmaulik,项目名称:zfcore,代码行数:75,代码来源:DataTables.php

示例2: groupedServerYearPublished

 /**
  * Returns a list of distinct years given by server_date_published
  *
  * @return array
  */
 public function groupedServerYearPublished()
 {
     $this->select->reset('columns');
     $this->select->columns("substr(server_date_published, 1, 4)")->distinct(true);
     return $this->db->fetchCol($this->select);
 }
开发者ID:alexukua,项目名称:opus4,代码行数:11,代码来源:DocumentFinder.php


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