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 佈署到主機上
9-1
編輯並執行商品(Product)的 migrate 檔案
一、編輯商品 migrate 檔案
migrate 檔案就是用來定義資料表欄位的檔案,屆時可用指令自動建立(或增減)資料表欄位
確認有無 \專案\database\migrations\日期_create_products_table.php
(上一節有做了),若是還沒有 上述檔案(或者是只要建立資料表,但不需要建立Model的時候),執行以下語法會自動生出 migrate 檔案(其中,是create_products_table
檔案名稱,--create=products
則是資料表名稱,慣例為複數):
php artisan make:migration create_products_table --create=products
編輯 \專案\database\migrations\日期_create_products_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateProductsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('description');
$table->string('image');
$table->boolean('on_sale')->default(true);
$table->unsignedInteger('price');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('products');
}
}
id
:自動編號,其用increments()
即可,原本的bigincrements()
有點太大了。
title
:商品的名稱,用string()
來建立字串欄位
description
:商品的說明,用text()
來建立大量文字欄位
image
:商品的圖片路徑,用string()
來建立字串欄位
on_sale
:是否啟用商品, boolean()
在 MySQL 中其實是 tinyint(1)
類型,未來我們可能需要做一下型別轉換。另外,我們用default(true)
來設定欄位預設值為true
price
:商品的價格,用unsignedInteger()
來產生正整數數字欄位
建立各種欄位類型可參考: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#modifying-columns
各種索引的建立請參考:https://learnku.com/docs/laravel/5.8/migrations/3928#creating-indexes
最後執行資料庫遷移即可建出新的資料表
php artisan migrate
要看資料表是否順利建出可以連到http://localhost/phpmyadmin/db_structure.php?server=1&db=homestead
若想撤銷剛剛的動作,可執行:
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 佈署到主機上