thinkphp6使用postgresql
时间: 2025-01-08 16:30:21 浏览: 118
### ThinkPHP6 中使用 PostgreSQL 数据库配置和操作
#### 配置文件设置
为了使 ThinkPHP6 能够连接并操作 PostgreSQL 数据库,在 `config/database.php` 文件中需指定相应的数据库驱动和其他必要参数。具体来说,应修改如下字段:
- type 设置为 'pgsql' 表明采用的是 PostgreSQL 数据库引擎;
- hostname 是指运行 PostgreSQL 服务所在的主机地址,默认情况下可以设为 localhost 或者 IP 地址;
- database_name 对应要访问的具体数据库名称;
- username 和 password 则分别代表用于登录该数据库实例的用户名及其密码。
```php
return [
// ...
'default' => env('database.type', 'pgsql'),
'connections' => [
'pgsql' => [
'type' => 'pgsql',
'hostname' => env('database.hostname', 'localhost'),
'database' => env('database.database', ''),
'username' => env('database.username', ''),
'password' => env('database.password', ''),
'hostport' => '',
'params' => [],
'charset' => 'utf8mb4',
'prefix' => '',
'debug' => true,
'deploy' => 0,
'rw_separate' => false,
'master_num' => 1,
'slave_no' => '',
'fields_strict' => true,
'resultset_type' => '\think\model\Collection',
'auto_timestamp' => false,
'datetime_format' => 'Y-m-d H:i:s',
'sql_explain' => false,
'builder' => '\\think\\db\\Builder',
'query' => '\\think\\db\\Query'
],
],
];
```
上述代码片段展示了如何针对 PostgreSQL 进行基本的数据源定义[^1]。
#### 执行基础查询语句
完成以上配置之后就可以通过框架内置的方法来进行数据交互了。下面给出几个常见的例子来展示怎样执行 SQL 查询以及处理返回的结果集。
##### 获取单条记录
当只需要获取一条特定条件下的记录时可利用 find 方法:
```php
$user = Db::name('user')->where(['id'=>1])->find();
dump($user);
```
这段 PHP 代码会向 users 表发出 SELECT 命令,并且只取回 id=1 的那一行作为关联数组形式的对象输出到浏览器控制台。
##### 插入新纪录
如果想要往表里面增加新的项目,则可以通过 insert 函数实现这一点:
```php
Db::name('user')->insert([
'name'=>'John Doe',
'email'=>'[email protected]'
]);
```
此命令将会把给定的信息插入到 user 表当中去。
##### 更新现有记录
对于已经存在的某条目做更新动作的话可以用 save 来达成目的:
```php
Db::name('user')
->where('id','=',2)
->update(['status'=>1,'last_login_time'=>['exp','NOW()']]);
```
这里的意思是对满足 where 子句所描述特征的那个实体实施属性值替换操作;其中 last_login_time 字段被赋予当前时间戳表达式的计算结果。
阅读全文
相关推荐




















