Yii 2 —— Model表前缀
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii 2 —— Model表前缀相关的知识,希望对你有一定的参考价值。
1.1 Model表前缀
在大多数系统中,对于数据库的表名称都喜欢在前面增加一个前缀,譬如ecshop系统的表名称,都有前缀“ecs_”,在它们的代码中到处充斥着如下代码:
$GLOBALS[‘ecs‘]->table(‘goods‘)
这种代码的目的是把前缀“ecs”和后面的名称拼接起来获得“ecs_goods”这样实际的表名称。为什么不直接拼接字符串“ecs_”和“goods”?因为在安装时,是可以自己配置表前缀的,所以这里不能固定写死用字符串拼接。
在Yii的体系里,数据库的表是跟model对应的,表名称是在Model类的tableName()函数中返回的,为了处理表前缀的问题,在这个函数中返回表名称时,可以采用类似如下代码:
public static function tableName() |
可以看到,返回用户表名称不是直接返回user,而是{{%user}},在实际从数据库提取数据时,将%替换为表前缀。
如何配置应用的表前缀呢?在main.php的db参数中进行配置:
return [ |
本文出自 “rainman” 博客,请务必保留此出处http://lancelot.blog.51cto.com/393579/1871258
以上是关于Yii 2 —— Model表前缀的主要内容,如果未能解决你的问题,请参考以下文章