模型名(類名) | 約定對應數據表(假設數據庫的前綴定義是 think_) |
---|---|
UserModel | think_user |
UserTypeModel | think_user_type |
在ThinkPHP的模型裏面,有幾個關於數據表名稱的屬性定義:
屬性 | 說明 |
---|---|
tableName | 不包含表前綴的數據表名稱,一般情況下默認和模型名稱相同,只有當你的表名和當前的模型類的名稱不同的時候才需要定義。 |
trueTableName | 包含前綴的數據表名稱,也就是數據庫中的實際表名,該名稱無需設置,只有當上面的規則都不適用的情況或者特殊情況下才需要設置。 |
dbName | 定義模型當前對應的數據庫名稱,只有當你當前的模型類對應的數據庫名稱和配置文件不同的時候才需要定義。 |
-
protected $tableName = 'categories';
而對於另外一種特殊情況,數據庫中有一個表(top_depts)的前綴和其它表前綴不同,不是think_ 而是 top_,這個時候我們就需要定義 trueTableName 屬性了
-
protected $trueTableName = 'top_depts';
除了數據表的定義外,還可以對數據庫進行定義,例如:
-
protected $dbName = 'top';