thinkphp6最常用查询方式是db类和模型类;db类适用于简单灵活的sql操作,如查所有用户、单条记录、多条件查询及指定字段;模型类推荐用于业务逻辑。

ThinkPHP6 中查询数据最常用的是使用 Db 类(数据库查询)或 模型(Model) 方式。下面给出几种简单、实用的查询示例,适合刚上手的开发者快速理解。
使用 Db 类进行基础查询
Db 类适合简单、灵活的 SQL 操作,无需定义模型。
- 查询所有用户:Db::table('user')->select();
- 查询单条记录(如 id=5 的用户):Db::table('user')->where('id', 5)->find();
- 带条件查询(多个 where):Db::table('user')->where('status', 1)->where('age', '>=', 18)->select();
- 指定字段查询:Db::table('user')->field('id,name,email')->select();
使用模型类查询(推荐用于业务逻辑)
先创建模型(如 app\model\User.php),内容如下:
namespace app\model;
use think\Model;
class User extends Model
{
// 可选:指定表名
protected $table = 'user';
}
然后在控制器中调用:
- 查全部:User::select();
- 查单条:User::find(5); 或 User::where('name', '张三')->find();
- 查多条并限制数量:User::where('status', 1)->limit(10)->select();
链式查询与常见写法
ThinkPHP6 支持流畅的链式调用,提升可读性:
- 分页查询:User::where('status', 1)->order('create_time', 'desc')->paginate(15);
- 模糊搜索:User::where('name', 'like', '%李%')->select();
- IN 查询:User::where('id', 'in', [1,2,3])->select();
- 时间范围查询:User::whereBetweenTime('create_time', '2024-01-01', '2024-12-31')->select();
注意事项
确保已正确配置数据库连接(config/database.php);使用模型前需开启模型自动识别或手动声明表名;调试时可用 ->getLastSql() 查看生成的 SQL(如 Db::table('user')->where('id', 1)->find()->getLastSql();)。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











