首页 > 后端开发 > php教程 > YII2中,MODEL获取表字段作为属性的方式为什么是使用“SHOW FULL COLUMNS FROM TABLE”?

YII2中,MODEL获取表字段作为属性的方式为什么是使用“SHOW FULL COLUMNS FROM TABLE”?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-08-18 09:15:33
原创
2496 人浏览过

YII2中,MODEL获取表字段作为属性的方式是使用“SHOW FULL COLUMNS FROM TABLE”,而不是直接写在MODEL中。这样不时读数据库信息,这种额外开销感觉没必要,毕竟表结果不经常修改的。是基于什么原因使用这种方式呢?

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>    protected function loadTableSchema($name)

    {

        $table = new TableSchema;

        $this->resolveTableNames($table, $name);

 

        if ($this->findColumns($table)) {

            $this->findConstraints($table);

 

            return $table;

        } else {

            return null;

        }

    }</code>

登录后复制
登录后复制

1

2

3

4

5

6

7

8

<code>    protected function findColumns($table)

    {

        $sql = 'SHOW FULL COLUMNS FROM ' . $this->quoteTableName($table->fullName);

        try {

            $columns = $this->db->createCommand($sql)->queryAll();

        }

        .........

    }</code>

登录后复制
登录后复制

回复内容:

YII2中,MODEL获取表字段作为属性的方式是使用“SHOW FULL COLUMNS FROM TABLE”,而不是直接写在MODEL中。这样不时读数据库信息,这种额外开销感觉没必要,毕竟表结果不经常修改的。是基于什么原因使用这种方式呢?

1

2

3

4

5

6

7

8

9

10

11

12

13

<code>    protected function loadTableSchema($name)

    {

        $table = new TableSchema;

        $this->resolveTableNames($table, $name);

 

        if ($this->findColumns($table)) {

            $this->findConstraints($table);

 

            return $table;

        } else {

            return null;

        }

    }</code>

登录后复制
登录后复制

1

2

3

4

5

6

7

8

<code>    protected function findColumns($table)

    {

        $sql = 'SHOW FULL COLUMNS FROM ' . $this->quoteTableName($table->fullName);

        try {

            $columns = $this->db->createCommand($sql)->queryAll();

        }

        .........

    }</code>

登录后复制
登录后复制
相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
yii2怎样用mongodb做rbac
来自于 1970-01-01 08:00:00
0
0
0
yii2连接mongodb3.2.4出错
来自于 1970-01-01 08:00:00
0
0
0
php - yii2-ueditor-widget
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板