StartMVC开发手册

可以快速上手的开发文档

手册目录

结果集

直接返回Sql语句

使用getSql()

// 查询
$sql = Db::table('users')->where('id', 1)->getSql()->get();

// 插入
$data = ['name' => 'test', 'email' => 'test@example.com'];
$sql = Db::table('users')->getSql()->insert($data);

// 更新
$data = ['name' => 'updated'];
$sql = Db::table('users')->where('id', 1)->getSql()->update($data);

// 删除
$sql = Db::table('users')->where('id', 1)->getSql()->delete();

使用参数方式$returnSql

// 使用 get() 方法返回 SQL 而不执行
$sql = Db::table('users')->where('id', 1)->get(true);
// php8+也可以这样传递
$sql = Db::table('users')->where('id', 1)->get(returnSql: true);

// 插入
$data = ['name' => 'test', 'email' => 'test@example.com'];
$sql = Db::table('users')->insert($data, true);

// 更新
$data = ['name' => 'updated'];
$sql = Db::table('users')->where('id', 1)->update($data, true);

// 删除
$sql = Db::table('users')->where('id', 1)->delete(true);

// 插入
$data = ['name' => 'test', 'email' => 'test@example.com'];
$sql = Db::table('users')->insert($data, true);

// 更新
$data = ['name' => 'updated'];
$sql = Db::table('users')->where('id', 1)->update($data, true);

// 删除
$sql = Db::table('users')->where('id', 1)->delete(true);

说明:以上两个方法,仅返回sql语句,不执行数据库操作。

用于获取最后执行的 SQL 语句

// 执行数据库操作
$users = Db::table('users')->where('status', 1)->get();

// 获取最后执行的SQL语句
$lastSql = Db::getLastSql();
echo "最后执行的SQL: " . $lastSql;

// 获取带执行时间的SQL语句
$sqlInfo = Db::getLastSql(true);
echo "最后执行的SQL: " . $sqlInfo['sql'] . " (执行时间: " . $sqlInfo['time'] . ")";

上次查询的sql语句lastQuery()

// 获取最后一条SQL语句
$lastSql = Db::lastQuery();

// 获取最后一条SQL语句及其执行时间信息
$lastSqlWithTime = Db::lastQuery(true);
// 返回: ['sql' => 'SELECT * FROM users', 'time' => '10.50ms', 'timestamp' => 1234567890.123]

查询总数queryCount()

返回查询的总数

Db::queryCount(); // 页面从开始到结束执行的所有SQL查询总数
//1