遇見 Laravel 的午後(Part 6)延伸篇
在 Part 6的文章裡,只有新增會員的資料表,但我們要新增一個資料表讓會員可以分層級做個區別,之後可以跟會員資料表(members)做一個關聯。
- 新增會員類別資料表
- 會員資料表多一個會員類別欄位
新增會員類別
migration
在Part 6有提過,但是這章節會特別介紹擴充資料表欄位的部分。
建立會員類別 migration
使用 artisan 指令建立 Model
及 migration
,由於之後可能會用到model的部分,所以一併建立。
命名規則:單字字首大寫,不加上複數。
※ Model 在之後的章節會做介紹。
1 | $ php artisan make:model MemberCategory -m |
執行以上指令檔案建立在專案 > database > migrations > 2020_07_02_113816_create_member_categories_table.php
資料表欄位設計,設計會員類別所以的欄位。
英文名稱 | 中文名稱 | 資料庫型態 | 鍵值 |
---|---|---|---|
id | 編號 | int | Primary Key |
name | 會員等級 | varchar(20) | |
level | 會員倍率 | int(11) | |
create_at | 建立時間 | datetime | |
update_at | 更新時間 | datetime |
開啟 2020_07_02_113816_create_member_categories_table.php
,將所需欄位轉換為 migration
。
1 |
|
預計規劃的欄位資料
id | name | level | create_at | update_at |
---|---|---|---|---|
1 | 一般會員 | 1 | ||
2 | 銅牌會員 | 3 | ||
3 | 銀牌會員 | 5 | ||
4 | 金牌會員 | 8 | ||
5 | 白金會員 | 10 |
會員資料新增會員類別欄位
之前有提到在建立 migration
的時候,會記錄日期時間,所以我們可以知道說在什麼時間做了欄位的調整,但由於我們在做會員資料表(members)的時候,沒有考慮到會員類別,所以我們要在下面另外建立新的 migration
。
新增資料庫遷移(migration)
- 資料表使用英文複數(s、es)
- 資料表用字母小寫,單字間用蛇底式命名(Snake Case)
使用 artisan 指令建立 migration
。
我們在下指令的時候,會以大駝峰式命名做命名。
1 | $ php artisan make:migration AddCategoryToMembers --table="members" |
指令建立後的檔案名稱,會自動以小蛇形式命名。
開啟 2020_07_02_115745_add_category_to_members.php
,class名稱會以我們當初用指令建立的命名。
專案 > database > migrations > 2020_07_02_115745_add_category_to_members.php
1 |
|
增加會員資料表(members)欄位
英文名稱 | 中文名稱 | 資料庫型態 | 預設值 |
---|---|---|---|
category | 會員權限 | int | 預設值1為基本會員 |
將上面要增加的欄位轉換為 migration
。
※ 將註解刪除,以免程式碼拉太長。
1 |
|
建立資料表
終端機(cli)輸入以下指令:
會執行 public function up()
方法來新增資料表。
1 | $ php artisan migrate |
查看資料庫的資料表
1、會員類別資料表(member_categories)
確認欄位及型態列的是否正確。
2、會員資料表(members)增加欄位 category
確認欄位建立正確。
有關修改的操作可詳見 修改資料表新建 migration
結論
在規劃資料表的時候,要把各種狀況想清楚,這樣開發的時候會減少一些不要的麻煩。
標籤: w3HexSchool
PHP
Laravel
原文作者: Sian
原文鏈接: https://dew31794.github.io/2020/07/12/遇見 Laravel 的午後(Part 6)延伸篇/
版權聲明: 轉載請註明出處(必須保留作者署名及鏈接)