數(shù)據(jù)表特殊字段

2018-06-13 16:21 更新

在 ModPHP 中,模塊就是數(shù)據(jù)表,每一張數(shù)據(jù)表都對(duì)應(yīng)一個(gè)同名模塊。

ModPHP 為模塊數(shù)據(jù)表預(yù)留了一些用來存儲(chǔ)特殊數(shù)據(jù)并借以實(shí)現(xiàn)特殊操作的字段,它們是:

  • {module}_id 默認(rèn)主鍵字段
  • {module}_time 時(shí)間戳字段
  • {module}_link 自定義鏈接字段
  • {module}_parent 父記錄字段
  • {ex-table}_id 外鍵字段
  • user_protect 用戶私密字段

{module}_id 默認(rèn)主鍵字段:

ModPHP 使用主鍵 id 作為查詢數(shù)據(jù)庫(kù)記錄的默認(rèn)方式,這個(gè) ID 是自增的,不能由用戶提交和修改,系統(tǒng)在插入或者更新數(shù)據(jù)庫(kù)記錄時(shí),會(huì)自動(dòng)將主鍵字段過濾。

{module}_time 時(shí)間戳字段:

如果某個(gè)模塊的數(shù)據(jù)需要記錄時(shí)間,可以添加這個(gè)字段到數(shù)據(jù)表中(并更新數(shù)據(jù)庫(kù)結(jié)構(gòu)),系統(tǒng)會(huì)自動(dòng)在添加數(shù)據(jù)庫(kù)記錄時(shí)自動(dòng)將這個(gè)字段填充為一個(gè) UNIX 時(shí)間戳,在獲取記錄時(shí),你可以使用 date() 函數(shù)將其轉(zhuǎn)換為格式化的時(shí)間。

{module}_link 自定義鏈接字段:

如果某個(gè)模塊需要為記錄添加自定義的 URL 地址時(shí),可以為模塊數(shù)據(jù)表添加這個(gè)字段。系統(tǒng)在解析 URL 鏈接時(shí),當(dāng)遇到這個(gè)設(shè)置的鏈接,會(huì)自動(dòng)調(diào)用相應(yīng)的模板來展示其內(nèi)容。

需要注意的是,自定義鏈接無論在寫入時(shí)是否為完整 URL 地址,在寫入數(shù)據(jù)庫(kù)時(shí)都將轉(zhuǎn)換成相對(duì)路徑,而在獲取時(shí)轉(zhuǎn)換成絕對(duì)路徑。

{module}_parent 父記錄字段:

模塊的父記錄和子記錄描述的是同一數(shù)據(jù)表下的兩條記錄的從屬關(guān)系,比如一個(gè)分類目錄下面可能有好幾個(gè)所屬的分類目錄,自己也可以從屬于另一個(gè)分類目錄。再比如評(píng)論,可能一條評(píng)論是評(píng)論原文的,而另一條評(píng)論則用來回復(fù)這條評(píng)論,它們之間都構(gòu)成從屬關(guān)系。模塊的父子記錄關(guān)系是相對(duì)的,一條記錄可以是這條記錄的父記錄,也可以是那條記錄的子記錄;但一條記錄可以有多個(gè)子記錄,卻只能有一條父記錄。

{ex-table}_id 外鍵字段:

模塊的主從表記錄描述的是不同數(shù)據(jù)庫(kù)下的兩條記錄的從屬關(guān)系,比如一篇文章由一個(gè)用戶創(chuàng)建,文章記錄是主表記錄,而用戶記錄則是從表記錄,在 post 表中有一個(gè) user_id 字段(外鍵)指向 user 表并為 user 表的主鍵,ModPHP 在獲取主表記錄時(shí),也會(huì)同時(shí)獲取從表記錄。主從表關(guān)系是交叉相對(duì)的,一個(gè)主表可以有多個(gè)從表,一個(gè)從表也可以被多個(gè)主表鏈接。但是,當(dāng)一個(gè)從表被多個(gè)主表鏈接時(shí),請(qǐng)將這個(gè)外鍵置于數(shù)據(jù)表數(shù)組靠后的位置,因?yàn)楹竺娴谋淼臄?shù)據(jù)總是覆蓋前面的表的同名數(shù)據(jù)。

特殊的外鍵包括:

user_id 用戶 ID 外鍵,如果模塊中包含這個(gè)外鍵,系統(tǒng)會(huì)在插入數(shù)據(jù)庫(kù)記錄時(shí)自動(dòng)填充當(dāng)前登錄用戶的 ID,并且在進(jìn)行模塊操作時(shí)會(huì)自動(dòng)檢查用戶是否登錄。

user_protect 用戶私密字段:

ModPHP 允許用戶對(duì)自己的信息進(jìn)行自定義的私密性設(shè)置,將要保密的字段填寫在 user_protect 內(nèi),系統(tǒng)會(huì)在獲取用戶信息時(shí)自動(dòng)將其過濾。除非獲取的是當(dāng)前用戶信息,或者當(dāng)前用戶為管理員,否則其他用戶都無權(quán)查看這些自定義的私密信息。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)