错误情景:在调用TP5的insert方法,插入pgsql表的时候,报错:fields not exists:[id]
排查原因:
1.已根据网上的教程,运行了tp5/thinkphp/connector/pgsql.sql,开启了php版本里面关于pgsql的两个dll扩展初步判断应该是框架的问题
2.tp版本是5.0,于是打算用较高的tp版本,进行insert/save方法插入数据,还行不行,用getTableFields()方法也只能获取到mysql的表字段而不能得到pgsql的表字段,但是用框架的count()和select()方法,是没啥问题的
解决办法:
在tp5中,save,insert,select,都是框架封装的方法,对于mysql是比较友好的,但是估计是框架原因,pgsql在使用这些方法时,有的方法用不了,所以只能使用原始的解决办法,使用sql执行
$sql="insert into test(id,name) values(111,'2222')";
$res=Db::connect($connection)->table("test")->execute($sql);