more additions.

This commit is contained in:
Taylor Otwell 2011-08-19 21:39:38 -05:00
parent 9d2a76b26f
commit fb1acc31d2
3 changed files with 39 additions and 13 deletions

View File

@ -35,7 +35,7 @@ class Connection {
* *
* @var Connector * @var Connector
*/ */
protected $connector; private $connector;
/** /**
* Create a new Connection instance. * Create a new Connection instance.
@ -57,7 +57,7 @@ public function __construct($name, $config, Connector $connector)
* *
* @return void * @return void
*/ */
protected function connect() public function connect()
{ {
$this->pdo = $this->connector->connect($this->config); $this->pdo = $this->connector->connect($this->config);
} }
@ -67,7 +67,7 @@ protected function connect()
* *
* @return bool * @return bool
*/ */
protected function connected() public function connected()
{ {
return ! is_null($this->pdo); return ! is_null($this->pdo);
} }
@ -128,7 +128,7 @@ public function query($sql, $bindings = array())
* @param array $results * @param array $results
* @return mixed * @return mixed
*/ */
protected function execute(\PDOStatement $statement, $bindings) private function execute(\PDOStatement $statement, $bindings)
{ {
$result = $statement->execute($bindings); $result = $statement->execute($bindings);

View File

@ -471,7 +471,13 @@ private function aggregate($aggregator, $column)
{ {
$this->select = 'SELECT '.$aggregator.'('.$this->wrap($column).') AS '.$this->wrap('aggregate'); $this->select = 'SELECT '.$aggregator.'('.$this->wrap($column).') AS '.$this->wrap('aggregate');
return $this->first()->aggregate; $result = $this->connection->scalar($this->compile_select(), $this->bindings);
// Reset the SELECT clause so more queries can be performed using the same instance.
// This is helpful for getting aggregates and then getting actual results.
$this->select = null;
return $result;
} }
/** /**
@ -656,10 +662,7 @@ private function wrap_alias($value)
* *
* @return string * @return string
*/ */
protected function wrapper() protected function wrapper() { return '"'; }
{
return '"';
}
/** /**
* Create query parameters from an array of values. * Create query parameters from an array of values.

View File

@ -33,7 +33,7 @@ public static function bootstrap($paths = array())
{ {
static::$aliases = Config::get('aliases'); static::$aliases = Config::get('aliases');
foreach ($paths as $path) { static::register($path); } foreach ($paths as $path) { static::register_path($path); }
} }
/** /**
@ -113,15 +113,38 @@ private static function module_path($file)
} }
/** /**
* Register a path with the auto-loader. After registering the path, it will be * Register a path with the auto-loader.
* checked similarly to the models and libraries directories. *
* After registering the path, it will be checked similarly to the models and libraries directories.
* *
* @param string $path * @param string $path
* @return void * @return void
*/ */
public static function register($path) public static function register_path($path)
{ {
static::$paths[] = rtrim($path, '/').'/'; static::$paths[] = rtrim($path, '/').'/';
} }
/**
* Register an alias with the auto-loader.
*
* @param array $alias
* @return void
*/
public static function register_alias($alias)
{
static::$aliases = array_merge(static::$aliases, $alias);
}
/**
* Remove an alias from the auto-loader's list of aliases.
*
* @param string $alias
* @return void
*/
public static function forget_alias($alias)
{
unset(static::$aliases[$alias]);
}
} }