thinkphp中table方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp中table方法相关的知识,希望对你有一定的参考价值。

table方法也属于模型类的连贯操作方法之一,主要用于指定操作的数据表。

用法

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

$Model->table(‘think_user‘)->where(‘status>1‘)->select();

也可以在table方法中指定数据库,例如:

$Model->table(‘db_name.think_user‘)->where(‘status>1‘)->select();

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

$Model->field(‘user.name,role.title‘)->table(‘think_user user,think_role role‘)->limit(10)->select();

为了尽量避免和mysql的关键字冲突,可以建议使用数组方式定义,例如:

$Model->field(‘user.name,role.title‘)->table(array(‘think_user‘=>‘user‘,‘think_role‘=>‘role‘))->limit(10)->select();

 

以上是关于thinkphp中table方法的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp008. 数据库的数据查询

php thinkphp 数据对比

thinkphp使用pgsql,提示table_msg函数缺失的解决方法

ThinkPHP join() table()方法的使用,多表查询

Thinkphp 连接查询的使用

THINKPHP 中关联查询(多表查询)