ThinkPHP CURD方法的table方法也属于模型类的连贯操作方法之一,该方法主要用于指定操作的数据表。
具体用法如下:
一般情况下,操作模型的时候系统能够自动识别当前对应的数据表,所以,使用table方法的情况通常是为了:
1.切换操作的数据表;
2.对多表进行操作;
例如:
1
|
$Model ->table( 'think_user' )->where( 'status>1' )->select(); |
也可以在table方法中指定数据库,例如:
1
|
$Model ->table( 'db_name.think_user' )->where( 'status>1' )->select(); |
需要注意的是table方法不会改变数据库的连接,所以你要确保当前连接的用户有权限操作相应的数据库和数据表。
切换数据表后,系统会自动重新获取切换后的数据表的字段缓存信息。
如果需要对多表进行操作,可以这样使用:
1
|
$Model ->field( 'user.name,role.title' )->table( 'think_user user,think_role role' )->limit(10)->select(); |
为了尽量避免和mysql的关键字冲突,可以建议使用数组方式定义,例如:
1
|
$Model ->field( 'user.name,role.title' )->table( array ( 'think_user' => 'user' , 'think_role' => 'role' ))->limit(10)->select(); |