GroupBy.class.php

Go to the documentation of this file.
00001 <?php
00002 /****************************************************************************
00003  *   Copyright (C) 2005-2007 by Anton E. Lebedevich, Konstantin V. Arkhipov *
00004  *                                                                          *
00005  *   This program is free software; you can redistribute it and/or modify   *
00006  *   it under the terms of the GNU Lesser General Public License as         *
00007  *   published by the Free Software Foundation; either version 3 of the     *
00008  *   License, or (at your option) any later version.                        *
00009  *                                                                          *
00010  ****************************************************************************/
00011 
00016     final class GroupBy extends FieldTable implements MappableObject
00017     {
00021         public static function create($field)
00022         {
00023             return new self($field);
00024         }
00025         
00029         public function toMapped(ProtoDAO $dao, JoinCapableQuery $query)
00030         {
00031             return self::create($dao->guessAtom($this->field, $query));
00032         }
00033         
00034         public function toDialectString(Dialect $dialect)
00035         {
00036             if (
00037                 $this->field instanceof SelectQuery
00038                 || $this->field instanceof LogicalObject
00039             )
00040                 return '('.$dialect->fieldToString($this->field).')';
00041             else
00042                 return parent::toDialectString($dialect);
00043         }
00044     }
00045 ?>