首頁  >  文章  >  後端開發  >  php框架 - thinkPHP M模型的表前綴 什麼時候用 $tablePrefix ,什麼時候用 'DB_PREFIX'?

php框架 - thinkPHP M模型的表前綴 什麼時候用 $tablePrefix ,什麼時候用 'DB_PREFIX'?

WBOY
WBOY原創
2016-12-01 01:27:172245瀏覽

我知道在創建M模型的時候,有兩種辦法定義 表前綴,
一種是 在 $tablePrefix 一種是定義在 $connection 中,

為什麼這裡我用

<code>protected $connection = array
    (
        'DB_TYPE' => 'mysql',    //数据库类型
        'DB_USER' => 'root',    //用户名
        'DB_PWD'  => '',    //密码
        'DB_HOST' => 'localhost',    //域名
        'DB_PORT' => '3306',    //??
        'DB_NAME' => 'minute1',    //库名
        'DB_CHARSET' => 'UTF8',    //编码
        'DB_PREFIX' => 'minute1_'    //★★★★★★★★★★★★数据库表前缀minute1_
    );</code>

不行,而用了 protected $tablePrefix="minute1_" 就好了,請問都該什麼時候用哪種?

回覆內容:

我知道在創建M模型的時候,有兩種辦法定義 表前綴,
一種是 在 $tablePrefix 一種是定義在 $connection 中,

為什麼這裡我用

<code>protected $connection = array
    (
        'DB_TYPE' => 'mysql',    //数据库类型
        'DB_USER' => 'root',    //用户名
        'DB_PWD'  => '',    //密码
        'DB_HOST' => 'localhost',    //域名
        'DB_PORT' => '3306',    //??
        'DB_NAME' => 'minute1',    //库名
        'DB_CHARSET' => 'UTF8',    //编码
        'DB_PREFIX' => 'minute1_'    //★★★★★★★★★★★★数据库表前缀minute1_
    );</code>

不行,而用了 protected $tablePrefix="minute1_" 就好了,請問都該什麼時候用哪種?

$tablePrefix是定義在Model中的,優先權大於設定檔中,使用情況的話一般是你的專案中初期錶前綴全部例如為“a_”,你在設定檔中定義了

<code>'DB_PREFIX'=>'a_'</code>

但是後面加了個b_temp表,這時候實例化temp 的時候如果不加處理,系統會查找a_temp,這個表不存在,這時候就需要在Temp模型中定義$tablePrefix='b_' ;了

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn