sqltranslator/sql-translator
Composer 安装命令:
composer require sqltranslator/sql-translator
包简介
Data Model, SQL Maker
README 文档
README
SQL生成助手!
更新日志
- 2016-08-15 创建项目
- 2016-08-30 项目更新--修复了不能调用的BUG
- 2016-10-18 引入PDO,完善功能。
- 2016-10-19 配置文件外部导入。
- 2017-01-19 查询字段格式统一,新增插入唯一时更新功能
- 2017-04-11 新增行锁接口 --
#调用方式 ###查询
$model = (new \SqlTranslator\Database())->config('mysql://root:#PWD@127.0.0.1:3306/demo')->pick('pdo'); $sql = $model->select() ->from(['a' => 'jst_book'], ['id', 'a.name', 'n' => '#NOW()']) ->joinLeft(['b' => 'jst_book_detail'], 'a.id = b.id', ['b.detail', 'b.cconte', 's' => '#NOW()']) ->where('a.id=1')->lock(); $result = $model->fetchAll($sql); var_dump($result);exit; exit;
###开启事务
$model = (new \SqlTranslator\Database())->config('mysql://root:#PWD@127.0.0.1:3306/demo')->pick('pdo'); $translator = new \SqlTranslator\SqlTranslator(); try { $model->beginTransaction(); $sql = $model->select() ->from(['a' => 'jst_book'], ['id', 'a.name', 'n' => '#NOW()']) ->joinLeft(['b' => 'jst_book_detail'], 'a.id = b.id', ['b.detail', 'b.cconte', 's' => '#NOW()']) ->where('a.id=1')->lock(); $result = $model->fetchAll($sql); $model->commit(); return $oid; } catch (\Exception $e) { $model->rollBack(); return false; } var_dump($result);exit; exit;
###新增
$insert = $model->insert() ->into( 'table', [ 'name', 'phone', 'type', 'price', 'price_type', 'order_count', ] ) ->values( [ $params['name'], $params['phone'], $params['type'], (float)$params['price'], $params['price_type'], 0, ] ) ->duplicate(['order_count' => 1, 'name' => $params['name']]); $result = $model->query($sql); exit;
###修改
$update = $this->_db_translator->update ->set($classname::tableName(), $params) ->where('id=?', $id);
###删除
$delete = $model->delete() ->from('table') ->where('id=?', $id);
统计信息
- 总下载量: 105
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-2-Clause
- 更新时间: 2016-08-15