|
之前我们大部分常用的就是mysql,最近呢,公司想用pgsql(postgresql)来处理新项目的数据;公司用的YII2框架,那接下来我们就研究一下如何在yii2中使用pgsql;
第一步:安装pgsql(windows)
参考:
按照上面的步骤一步一步的去安装即可;
第二步:检查PHP是否安装pgsql拓展
打开PHP.ini文件,看看里面的拓展extension=pdo_pgsql;extension=pgsql 是否开启;(未开启,会找不到数据库哈);

如果没开启,去掉前面的 ';'即可;
第三步:使用yii2 链接pgsql 数据库
在db配置文件中修改"'dsn'=>'pgsql:host=localhost;dbname=test'";账号密码就用你自己的账号密码就好了
return [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:host=localhost;dbname=test',
'tablePrefix' => 'v_',
'username' => 'postgres',
'password' => '123456',
'charset' => 'utf8'
]
设置好了;我们就可以建立自己类来测试一下了
class VideoOptionsController extends Controller
{
public $enableCsrfValidation=false;
public $layout = false;
public function actionTest()
{
$id = $this->request->post('id');
$name = $this->request->post('name');
$model = new Test();
$model = $model::findOne($id);//查询对象
$model->name= $name; // 重新给对象里面的属性赋值
if($model->save(false)){ // 重新保存对象 (false:表示不验证model里面的rules)
return [];
}else{
throw new BadRequestHttpException('操作失败');
}
}
}
上面就演示完成了;
可能就是我们在使用过程中,可能和之前的mysql有一些些不同的地方;
比如:数据类型呀!操作方式呀;

查询包含数组的内容
查询对数组的操作方式;如下图

pgsql 数组操作符
后续在使用过程中,如果遇到什么问题;我会继续更新;欢迎大家留言,有问题一起讨论 |
|