| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | <?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.// +----------------------------------------------------------------------// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: liu21st <liu21st@gmail.com>// +----------------------------------------------------------------------namespace think\db\builder;use think\db\Builder;/** * Sqlite数据库驱动 */class Sqlite extends Builder{    /**     * limit     * @access public     * @param string $limit     * @return string     */    public function parseLimit($limit)    {        $limitStr = '';        if (!empty($limit)) {            $limit = explode(',', $limit);            if (count($limit) > 1) {                $limitStr .= ' LIMIT ' . $limit[1] . ' OFFSET ' . $limit[0] . ' ';            } else {                $limitStr .= ' LIMIT ' . $limit[0] . ' ';            }        }        return $limitStr;    }    /**     * 随机排序     * @access protected     * @return string     */    protected function parseRand()    {        return 'RANDOM()';    }    /**     * 字段和表名处理     * @access protected     * @param mixed  $key     * @param array  $options     * @return string     */    protected function parseKey($key, $options = [], $strict = false)    {        if (is_numeric($key)) {            return $key;        } elseif ($key instanceof Expression) {            return $key->getValue();        }        $key = trim($key);        if (strpos($key, '.')) {            list($table, $key) = explode('.', $key, 2);            if ('__TABLE__' == $table) {                $table = $this->query->getTable();            }            if (isset($options['alias'][$table])) {                $table = $options['alias'][$table];            }        }        if (isset($table)) {            $key = $table . '.' . $key;        }        return $key;    }}
 |