:::
9-9 根據群組來拿掉或取代資料
- 若是讓非管理員也看到報名者的電話或姓名,那可能會出大事...因此,我們可以除了管理員之外,其他群組不能看到電話,姓名也只能看到局部姓名
case "show": ...略... $ApplyModel->disable('phone', ['index'], [1]); $ApplyModel->replace('uid', [], ['substr_replace' => ['this', '〇', 3, 3]], [1]); $ApplyModel->index(); break;加上後,管理員看起來像這樣:

非管理員則像這樣:

- 關於判斷群組拿掉某個欄位:
$ApplyModel->disable('phone', ['index'], [1]);第一個參數就是針對
phone欄位來使之不顯示
第二個參數是要指定在哪些功能中不顯示,目前指定在index列表中不顯示
第三個參數則是例外的群組陣列,也就是哪些群組不進行隱藏,填入[1]代表管理員群組不取代,可以看到電話。 -
關於
disable()可參考:https://campus-xoops.tn.edu.tw/modules/tad_book3/page.php?tbsn=48&tbdsn=1629 - 關於判斷群組用函數(而非指定替換值的方式)替換欄位內容:
$ApplyModel->replace('uid', [], ['substr_replace' => ['this', '〇', 3, 3]], [1]);第一個參數就是針對
uid欄位,因為之前有套用uid_name(),所以,此時該欄位值會變成姓名。
第二個參數未填,原本是要填值的對應,但因為這不是已知的值(天曉得報名的人會叫做什麼名字),所以,留空。
第三個參數是callback陣列,用來呼叫各種函數用,這裡用substr_replace函數來把姓名的第二個字取代成〇,其中this代表uid_name的值(也就是姓名)
第四個參數則是例外的群組陣列,也就是哪些群組不進行取代,填入[1]代表管理員群組不取代,可以看到全名。
9-8 篩選資料