lithium\data\source\Database::_conditions PHP Method

_conditions() protected method

If the query conditions are defined as an array, key pairs are converted to SQL strings. If $key is numeric and $value is a string, $value is treated as a literal SQL fragment and returned.
protected _conditions ( string | array $conditions, object $context, array $options = [] ) : string
$conditions string | array The conditions for this query.
$context object The current `lithium\data\model\Query` instance.
$options array Available options are: - `'prepend'` _boolean|string_: The string to prepend or `false` for no prepending. Defaults to `false`.
return string Returns an SQL conditions clause.
    protected function _conditions($conditions, $context, array $options = array())
    {
        $defaults = array('prepend' => false);
        $options += $defaults;
        switch (true) {
            case empty($conditions):
                return '';
            case is_string($conditions):
                return $options['prepend'] ? $options['prepend'] . " {$conditions}" : $conditions;
            case !is_array($conditions):
                return '';
        }
        $result = array();
        foreach ($conditions as $key => $value) {
            $return = $this->_processConditions($key, $value, $context);
            if ($return) {
                $result[] = $return;
            }
        }
        $result = join(" AND ", $result);
        return $options['prepend'] && $result ? $options['prepend'] . " {$result}" : $result;
    }