A+ A A-

larablog 建構日誌:Voyager 的 BREAD

Voyager 透過 BREAD 對資料庫進行存取

  Voyager 的 BREAD 就相當於常聽到的 CRUD(增刪查改)操作:

  • Browse(瀏覽)
  • Read(讀取)
  • Edit(編輯)
  • Add(新增)
  • Delete(刪除)

  登入 Voyager 後點選側邊選單「工具 - BREAD」,接著點選要新增 BREAD 操作的資料表右方「添加 BREAD 至該表」項目進入新增 BREAD 畫面。設定好各項目之後點選最下方「保存」就會側邊選單看到新增的 Browse 項目,對資料表進行各項操作。

添加 BREAD 至該表

BREAD 編輯畫面重點

  接下來依區塊說明重點編輯欄位,詳細操作請參考 Voyager 官網文件或是哥布林老師翻譯的 Voyager 中文手冊

(資料表)BREAD 信息

(資料表) BREAD 信息區塊編輯畫面

  • 顯示名稱(單數):輸入之後會在 Voyager 側邊選單顯示的名稱。
  • 顯示名稱(複數):輸入之後會在 Voyager 側邊選單顯示的名稱。
  • URL Slug:資料表 BREAD 畫面的存取路徑,名稱維持預設值(資料表名)即可。 如果稍後在 Browse 畫面編輯項目詳細有發生錯誤,請回到編輯畫面更改,以本文撰寫的時間會發生在「posts」項目。
  • 使用圖標(選用):顯示在 Voyager 側邊選單名稱前的圖示,點選「Voyager 字體」會開啟新分頁顯示各圖示樣式名。
  • 模型名稱:輸入存取此資料表的 Model 路徑,如果發現此欄位沒有自動帶出 Model 所在路徑請編輯 /config/voyager.php,取消第 45 行關於 namespace 的路徑註記後存檔。

在下方編輯(資料表)行

在下方編輯(資料表)行區塊編輯畫面

  接下來設定在 BREAD 畫面中資料表欄位的顯示名稱、是否顯示,以及編輯型態等等的設定。Voyager 提供常見的欄位編輯種類(單選、多選、下拉選單、Richtext 編輯器等),可在「編輯細項」欄位中做進一步設定,詳情請參考 Voyager 官網文件或是哥布林老師翻譯的 Voyager 中文手冊

輸入類型為「Radio Button」的編輯細項參考

建立完成的 Browse 項目後在側邊選單顯示

分類的 Browse 畫面

資料表關係設定

  完成資料表 BREAD 頁面新增後,回到側邊選單「工具 - BREAD」,點選欲設定資料表關係的資料表項目右方的「編輯」圖示,會回到之前 BREAD 的編輯畫面。將頁面移至最下方點選左下角「創建關係」項目。

創建關係

  在規劃專案資料表時已經規劃各資料表間的關係,以 Category Model 來說對 Post Model 為一對多(hasMany),依照規劃內容設定關係內容,其設定項目如下圖所示。

Category 與 Post 的一對多關係設定圖

Post 與 Tag 的多對多關係設定,需指定中介資料表

  點選下方「添加新關係」儲存關係設定後該項目會位於 BREAD 編輯畫面的最下方,請依需要更改顯示名稱、拖曳至適合位置後按下右下方「發佈」按鈕儲存設定

完成關係設定後拖曳至適合顯示位置

增加關係後在 Browse 畫面上的呈現,以分類集為例

結語

  資料表的 CRUD 是網站的核心功能,以往製作相關操作頁面要花上不少時間,透過 Voyager 的 BREAD 就可以快速做到 CRUD 操作,離專案完成時間更近一步。