tp5在model中切换表前缀,thinkphp5单独设置表前缀(prefix)的方法
根据官方手册
5.0不支持单独设置当前模型的数据表前缀。
也就是说你直接设置 $tablePrefix / $prefix 是没有效果的。
但是和配置数据库的参数一样,我们可以设置当前模型的数据库连接 connection
,属性的值可以设置为数据库的配置参数,而且也是官方推荐的方式,这样可以避免把数据库连接固化在代码里面。
这里仅配置一个 prefix 即可,同理也可以设置一些其它与默认数据库配置不一样的配置项。
例:
namespace app\index\model;
class User extends \think\Model{
// 设置当前模型对应的完整数据表名称
protected $table = 'think_user';
// 设置当前模型的数据库连接
protected $connection = [
// 数据库表前缀
'prefix' => 'think_',
];
}