ThinkPHP5坑人笔记(对比Tp3.2)

1、关于数据库连接的问题;

$userModel = Db::name('user');       //这种方法连接,是以类的方式,不会实例化对象

Db::name('card');

$userModel->find();        //查找到的数据是card表的数据,因为第二行已经把表名更改了

想要实例化对象,可以直接db('user')或者创建UserModel类,然后new UserModel();

db('user')相当于M('user'),new UserModel()相当于D('User'),Db::name('建议用来单次查询')

 

2、关于事务的问题

TP5之后,事务的使用变得更加严谨,也可以说更加复杂了。。。(就我目前使用来看,没有3.2来的方便和无脑)

每一个实例化的对象,db()或者 new UserModel,他们都有自己的事务处理,不像3.2那样,一个M()->startTrans();就控制了所

有数据表对象的事务。

$userModel = db('user');//实例化User

$cardModel = new Card();//实例化Card

$Model = Db::name('test');//Db类

$userModel->startTrans();//控制User的事务

$cardModel ->startTrans();//控制Card的事务

Db::startTrans();//控制Db类的事务

就是每一个实例化的数据表对象(包括Db类),想要操作事务,就必须各自startTrans()一次才行。。。

你可能感兴趣的:(php)