Thinkphp模型問題(一)

很長一段時間,腦海裏沒有模型和控制器的區別,幾乎把全部代碼都敲在控制器裏邊了。 php

來自於ThinkPhp3.2.3手冊模型定義 html

​​​​​​​模型類的做用大多數狀況是操做數據表的,若是按照系統的規範來命名模型類的話,大多數狀況下是能夠自動對應數據表。​​ 數據庫

模型類的命名規則 url

最經常使用的一個數據表定義:就是你當前創建的模型名稱並非你所對應的表,這時候只須要使用一個數據表名稱的屬性tableName,這個屬性定義不須要表前綴。 3d

例如: code

​​class CategoryModel extends Model { htm

​ protected $tableName = 'categories'; blog

} get

這時候CategoryModel所對應得數據表名不是​Category,而是categories。 it

若是你的表名是沒有前綴的,那麼你須要tablePrefix​這個屬性來定義:

class CategoryModel extends Model {

protected $tablePrefix=‘’;

}

爲何必定要配置? 是由於,若是你配置這個屬性的話,ThinkPhp會自動調取當前配置文件中的 DB_PREFIX

這時候你也許會發現,既然沒有表前綴的都有屬性,那麼一些特別的表,前綴和普通表前綴不一樣,怎麼辦?

Thinkphp也想到了這個問題,因此就有了$trueTableName屬性,注意:這個屬性須要完整的表名定義。

class CategoryModel extends Model {

protected $trueTableName=‘cate_category’;

}

最後一個屬性$dbname,是使用另外一個數據庫裏的表。例如cate.cate.category​

class CategoryModel extends Model {

protected $trueTableName=‘cate_category’;

​   protected    $dbname='cate';

}

模型定義問題大體就這些了。​

相關文章
相關標籤/搜索