示例#1
0
 /**
  * @param string $section
  * @param \Sorien\DataGridBundle\Grid\Grid $grid
  * @param \Sorien\DataGridBundle\Grid\Column\Column $param
  * @return string
  */
 public function getGridUrl($section, $grid, $param = null)
 {
     if ($section == 'order') {
         if ($param->isSorted()) {
             return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_ORDER . ']=' . $param->getId() . '|' . ($param->getOrder() == 'asc' ? 'desc' : 'asc');
         } else {
             return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_ORDER . ']=' . $param->getId() . '|asc';
         }
     } elseif ($section == 'page') {
         return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_PAGE . ']=' . $param;
     } elseif ($section == 'limit') {
         return $grid->getRouteUrl() . '?' . $grid->getHash() . '[' . Grid::REQUEST_QUERY_LIMIT . ']=';
     }
 }
示例#2
0
 /**
  * @param \Sorien\DataGridBundle\Grid\Column\Column $column
  * @param boolean $withAlias
  * @return string
  */
 private function getFieldName($column, $withAlias = true)
 {
     $name = $column->getField();
     if (strpos($name, '.') === false) {
         return self::TABLE_ALIAS . '.' . $name;
     }
     $parent = self::TABLE_ALIAS;
     $elements = explode('.', $name);
     while ($element = array_shift($elements)) {
         if (count($elements) > 0) {
             $this->joins['_' . $element] = $parent . '.' . $element;
             $parent = '_' . $element;
             $name = $element;
         } else {
             $name .= '.' . $element;
         }
     }
     if ($withAlias) {
         return '_' . $name . ' as ' . $column->getId();
     }
     return '_' . $name;
 }