<?php defined('SYSPATH') or die('No direct script access.');
/**
* Database expressions can be used to add unescaped SQL fragments to a
* [Database_Query_Builder] object.
*
* For example, you can use an expression to generate a column alias:
*
* // SELECT CONCAT(first_name, last_name) AS full_name
* $query = DB::select(array(DB::expr('CONCAT(first_name, last_name)'), 'full_name')));
*
* @package Kohana/Database
* @category Base
* @author Kohana Team
* @copyright (c) 2009 Kohana Team
* @license http://kohanaphp.com/license
*/
class Kohana_Database_Expression {
// Raw expression string
protected $_value;
/**
* Sets the expression string.
*
* $expression = new Database_Expression('COUNT(users.id)');
*
* @return void
*/
public function __construct($value)
{
// Set the expression string
$this->_value = $value;
}
/**
* Get the expression value as a string.
*
* $sql = $expression->value();
*
* @return string
*/
public function value()
{
return (string) $this->_value;
}
/**
* Return the value of the expression as a string.
*
* echo $expression;
*
* @return string
* @uses Database_Expression::value
*/
public function __toString()
{
return $this->value();
}
} // End Database_Expression