1. 關於 Laravel 1-1 為何需要框架? 1-2 快速安裝開發環境及開發工具 1-2-1 以Laragon建立運作環境 1-2-2 修改資料庫密碼並建立myshop資料庫 1-2-3 Visual Studio Code文字編輯器 1-2-4 安裝 Composer 1-2-5 [參考]註冊 GitHub 1-2-6 [參考]瀏覽器附加元件 1-2-7 [參考]申請mailtrap帳號 1-2-8 [參考]用Homestead建構開發環境 2. 專案需求分析 2-1 建立專案 2-2 [參考]將專案加入本地端的 git 2-3 [參考]將專案放上GitHub 2-4 設定專案環境 2-5 Laravel運作週期 3. 建立使用者認證 3-1 新增中文語系 4. 了解路由 Router 及視圖 View 4-1 製作系統主樣板 4-2 為樣板製作中文語系檔 4-3 修改首頁畫面 4-4 Blade 樣板語法(自訂導覽列選項) 5. 安裝 laravel-admin 後台 5-1 修改後台設定檔 5-2 將後台選單中文化的方法 6. 修改使用者資料表 6-1 修改註冊頁面 6-2 讓新增的欄位可以寫入資料庫 6-3 剛剛我們做了什麼? 7. 開始定義系統各項功能 7-1 還沒有控制器的路由寫法 7-2 有控制器的路由寫法 8. 在後台新增買家管理 8-1 建立管理買家的後台控制器 8-2 新增管理買家的路由 8-3 新增選單 8-4 調整可修改的項目 9. 建立商品模型 9-1 編輯並執行商品(Product)的 migrate 檔案 9-2 建立後台商品管理頁面 9-3 中文化商品管理界面 9-4 後台新增商品頁面 9-5 後台的驗證表單資料 9-6 後台加入所見即所得編輯器 9-7 後台修改商品 10. 建立前台顯示商品頁面 10-1 建立前台商品控制器 10-2 修改路由讓首頁呈現商品列表 10-3 修改控制器以執行取得資料動作 10-4 修改模型以正確顯示圖片 10-5 修改視圖以顯示商品列表 11. 建立商品測試資料 11-1 讓系統也可以顯示測試圖片 11-2 建立Seeder快速填充資料 12. 建立商品詳情頁的路由 12-1 建立商品詳情頁的控制器 12-2 路由模型綁定 12-3 建立商品詳情頁的視圖 13. 一般的異常處理 13-1 優雅的異常處理 14. 關於購物車 14-1 建立購物車的模型 14-2 設定商品、購物車與買家的關聯 14-3 建立新增至購物車的路由 14-4 建立購物車控制器 15. 使用 Laravel Mix 來管理前端資源 15-1 修改前台視圖 15-2 安裝 SweetAlert 15-3 實現加入購物車按鈕 15-4 將購物項目寫入資料庫 15-5 用 fillable 批量賦值寫入 15-6 建立Request來做資料整理及檢查 15-7 利用模型觀察器建立使用者資料 15-8 根據不同情況來進行新增品項或累加品項 16. 查看購物車商品 16-1 微調購物車的傳送方式 16-2 刪除某個購物品項 16-3 調整商品數量 17. 關於訂單 17-1 建立訂單及品項的模型及控制器 17-2 設定訂單及訂單項目的關聯 17-3 加入送出訂單按鈕 17-4 我的訂單列表 17-5 後台訂單管理 17-6 中文化訂單管理界面 18. 重建由GitHub下載的Laravel專案 18-1 佈署到主機上
6.
修改使用者資料表
一、建立migration檔案來修改使用者資料表
Laravel 有自帶一個users
的資料表,我們在第3單元做 建立使用者認證 的就是,不過,由於我們還需要使用者(買家)姓名、電話、地址...等資訊,加上我們沒有多餘時間可以製作另一個收貨地址的資料表,所以,我們直接修改該users
資料表來使用。
我們可以利用Laravel內建的 migration 機制來修改資料表欄位或定義,使用 migration 的好處是可以對資料庫的修改進行紀錄,並根據這些紀錄進行資料庫的版本控制。
migration檔案就是用來定義資料表欄位的檔案,屆時可用指令自動建立(或增減)資料表欄位
先來建立一個migration檔案,請按Ctrl +` ,並執行:
php artisan make:migration change_users_table
如此,會生出一個空白的檔案,如:\專案\database\migrations\2019_05_21_145904_change_users_table.php
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
前面的日期是執行這個命令時自動加的,可以幫助 Laravel 判斷 migration 的先後順序。
二、修改migration檔案內容
我們將內容改成下方這樣,up()
是執行時,要對資料庫做異動的地方;down()
則是撤銷對資料庫的異動,也就是復原之意:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class ChangeUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
// 在 password 欄位後面新增 address 欄位
$table->string('address')->after('password');
// 在 address 欄位後面新增 tel 欄位
$table->string('tel')->after('address');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('tel');
$table->dropColumn('address');
});
}
}
建立各種欄位類型可參考:https://learnku.com/docs/laravel/5.8/migrations/3928#creating-columns
替欄位加入各種屬性請參考:https://learnku.com/docs/laravel/5.8/migrations/3928#column-modifiers
要修改欄位方法請參考:https://learnku.com/docs/laravel/5.8/migrations/3928#55682c
各種索引的建立請參考:https://learnku.com/docs/laravel/5.8/migrations/3928#b271e4
修改好之後,我們就可以執行以下指令來異動資料庫:
php artisan migrate
這時後再去看一下資料庫結構,就會發現已經改變囉!
若想撤銷剛剛的動作,可執行:
php artisan migrate:rollback
若想刪除全部資料表重來,可以執行
php artisan migrate:reset
1. 關於 Laravel 1-1 為何需要框架? 1-2 快速安裝開發環境及開發工具 1-2-1 以Laragon建立運作環境 1-2-2 修改資料庫密碼並建立myshop資料庫 1-2-3 Visual Studio Code文字編輯器 1-2-4 安裝 Composer 1-2-5 [參考]註冊 GitHub 1-2-6 [參考]瀏覽器附加元件 1-2-7 [參考]申請mailtrap帳號 1-2-8 [參考]用Homestead建構開發環境 2. 專案需求分析 2-1 建立專案 2-2 [參考]將專案加入本地端的 git 2-3 [參考]將專案放上GitHub 2-4 設定專案環境 2-5 Laravel運作週期 3. 建立使用者認證 3-1 新增中文語系 4. 了解路由 Router 及視圖 View 4-1 製作系統主樣板 4-2 為樣板製作中文語系檔 4-3 修改首頁畫面 4-4 Blade 樣板語法(自訂導覽列選項) 5. 安裝 laravel-admin 後台 5-1 修改後台設定檔 5-2 將後台選單中文化的方法 6. 修改使用者資料表 6-1 修改註冊頁面 6-2 讓新增的欄位可以寫入資料庫 6-3 剛剛我們做了什麼? 7. 開始定義系統各項功能 7-1 還沒有控制器的路由寫法 7-2 有控制器的路由寫法 8. 在後台新增買家管理 8-1 建立管理買家的後台控制器 8-2 新增管理買家的路由 8-3 新增選單 8-4 調整可修改的項目 9. 建立商品模型 9-1 編輯並執行商品(Product)的 migrate 檔案 9-2 建立後台商品管理頁面 9-3 中文化商品管理界面 9-4 後台新增商品頁面 9-5 後台的驗證表單資料 9-6 後台加入所見即所得編輯器 9-7 後台修改商品 10. 建立前台顯示商品頁面 10-1 建立前台商品控制器 10-2 修改路由讓首頁呈現商品列表 10-3 修改控制器以執行取得資料動作 10-4 修改模型以正確顯示圖片 10-5 修改視圖以顯示商品列表 11. 建立商品測試資料 11-1 讓系統也可以顯示測試圖片 11-2 建立Seeder快速填充資料 12. 建立商品詳情頁的路由 12-1 建立商品詳情頁的控制器 12-2 路由模型綁定 12-3 建立商品詳情頁的視圖 13. 一般的異常處理 13-1 優雅的異常處理 14. 關於購物車 14-1 建立購物車的模型 14-2 設定商品、購物車與買家的關聯 14-3 建立新增至購物車的路由 14-4 建立購物車控制器 15. 使用 Laravel Mix 來管理前端資源 15-1 修改前台視圖 15-2 安裝 SweetAlert 15-3 實現加入購物車按鈕 15-4 將購物項目寫入資料庫 15-5 用 fillable 批量賦值寫入 15-6 建立Request來做資料整理及檢查 15-7 利用模型觀察器建立使用者資料 15-8 根據不同情況來進行新增品項或累加品項 16. 查看購物車商品 16-1 微調購物車的傳送方式 16-2 刪除某個購物品項 16-3 調整商品數量 17. 關於訂單 17-1 建立訂單及品項的模型及控制器 17-2 設定訂單及訂單項目的關聯 17-3 加入送出訂單按鈕 17-4 我的訂單列表 17-5 後台訂單管理 17-6 中文化訂單管理界面 18. 重建由GitHub下載的Laravel專案 18-1 佈署到主機上