예제 #1
0
 /**
  * fetch 從 $table 找出符合 $search 的所有 column
  * 
  * @param Pix_Table $table 
  * @param Pix_Table_Search $search 
  * @param string $select_columns 
  * @access public
  * @return array
  */
 public function fetch($table, $search, $select_columns = '*')
 {
     $select_expression = $this->_getSelectExpression($table, $select_columns);
     $sql = 'SELECT ' . $select_expression . ' FROM ' . $this->column_quote($table->getTableName());
     if ($search->index()) {
         $sql .= " USE INDEX (" . $search->index() . ") ";
     }
     $sql .= ' WHERE ';
     $sql .= $this->_get_where_clause($search, $table);
     $sql .= $this->_get_clause($search);
     $res = $this->query($sql);
     $rows = array();
     while ($row = $res->fetch_assoc()) {
         $rows[] = $this->_filterRow($row);
     }
     $res->free_result();
     return $rows;
 }