码迷,mamicode.com
首页 > Web开发 > 详细

ThinkPHP5 链式操作table用法

时间:2020-10-05 21:58:10      阅读:36      评论:0      收藏:0      [点我收藏+]

标签:多表   com   数组   status   简化   链式   用法   信息   数据表   

table方法主要用于指定操作的数据表。

用法
一般情况下,操作模型的时候系统能够自动识别当前对应的数据表,所以,使用table方法的情况通常是为了:

切换操作的数据表;
对多表进行操作;
例如:

Db::table(‘think_user‘)->where(‘status>1‘)->select();
也可以在table方法中指定数据库,例如:

Db::table(‘db_name.think_user‘)->where(‘status>1‘)->select();
table方法指定的数据表需要完整的表名,但可以采用下面的方式简化数据表前缀的传入,例如:

Db::table(‘USER‘)->where(‘status>1‘)->select();
会自动获取当前模型对应的数据表前缀来生成 think_user 数据表名称。

需要注意的是table方法不会改变数据库的连接,所以你要确保当前连接的用户有权限操作相应的数据库和数据表。 切换数据表后,系统会自动重新获取切换后的数据表的字段缓存信息。

如果需要对多表进行操作,可以这样使用:

Db::field(‘user.name,role.title‘)
->table(‘think_user user,think_role role‘)
->limit(10)->select();
为了尽量避免和mysql的关键字冲突,可以建议使用数组方式定义,例如:

Db::field(‘user.name,role.title‘)
->table([‘think_user‘=>‘www.djznrobot.com‘,‘think_role‘=>‘role‘])
->limit(10)->select();

ThinkPHP5 链式操作table用法

标签:多表   com   数组   status   简化   链式   用法   信息   数据表   

原文地址:https://blog.51cto.com/13959155/2540023

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!