1. 關於 Laravel 1-1 為何需要框架? 1-2 快速安裝開發環境及開發工具 1-2-1 以XAMPP建立運作環境 1-2-2 Visual Studio Code文字編輯器 1-2-3 安裝 Composer 1-2-4 安裝 GitHub Desktop for Windows 1-2-5 [建議]瀏覽器附加元件 1-2-6 [參考]申請mailtrap帳號 1-2-7 [參考]用Homestead建構開發環境 2. 建立專案 2-1 將專案加入本地端的 git 2-2 將專案放上GitHub 2-3 設定專案環境 2-4 Laravel運作週期 3. 建立使用者認證 3-1 佈署到主機上 3-2 新增語系 3-3 開啟網站並登入 4. 了解路由的運作 4-1 製作系統主樣板 4-2 製作中文語系檔 4-3 修改首頁畫面 4-4 Blade 樣板語法 5. 安裝後台及讀寫機制 5-1 安裝後台的使用者角色管理 5-2 讓閒雜人等不能進入後台 5-3 安裝 laravel-debugbar 方便除錯 6. 建立相關資料表及模型 6-1 編輯並執行測驗(exam)的 migrate 檔案 7. 開始定義系統各項功能 7-1 還沒有控制器的路由寫法 7-2 有控制器的路由寫法 8. 建立新增測驗的操作界面 8-1 安裝marvinlabs/laravel-html-bootstrap-4套件 8-2 建立發布測驗的表單 9. 建立Exam的控制器controller 9-1 修改路由改用控制器 9-2 在視圖中取得使用者編號 9-3 將資料寫進資料庫 9-4 用 fillable 批量賦值寫入 10. 表單驗證及錯誤處理 10-1 建立Request來統一驗證 11. 讀出所有測驗 11-1 讀出時加入各種條件 11-2 加入分頁 12. 讀出單一測驗 12-1 路由模型綁定 12-2 建立並執行題目的Model 及 migrate 文件 12-3 新增題目編輯表單 12-4 儲存題目 12-5 列出題目 12-6 匯入題目 12-7 利用Model查詢資料的方法 12-8 測驗與題目的關聯 13. 利用模型工廠產生隨機題目 13-1 建立Seeder快速填充資料 14. 修改測驗 14-1 更新測驗 14-2 修改題目 14-3 更新題目 15. 刪除題目 15-1 刪除測驗 15-2 加入刪除確認 16. 建立並執行考試的Model 及 migrate 文件 16-1 設定考試與測驗、考生的關聯 16-2 產生考試界面 16-3 儲存並計分 16-4 產生考試結果 17. 安裝設定新北市OpenID登入 17-1 使用新北市OpenID登入 17-2 異動資料表 17-3 修改考試的儲存動作 18. 網站的關閉與啟動 18-1 使用路由前置字串 18-2 使用資源路由 19. 重建由GitHub下載的Laravel專案
12-2
建立並執行題目的Model 及 migrate 文件
一、編輯題目的 migrate 檔案
建立Topic(題目)的 Eloquent 模型,以便將一個資料表變成一個物件來操作,並且順便產生 migration 檔案
php artisan make:model Topic --migration
編輯 /專案/database/migrations/日期_create_topics_table.php
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTopicsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('topics', function (Blueprint $table) {
$table->increments('id');
$table->string('topic');
$table->unsignedInteger('exam_id');
$table->foreign('exam_id')->references('id')->on('exams')->onDelete('cascade');
$table->string('opt1');
$table->string('opt2');
$table->string('opt3');
$table->string('opt4');
$table->unsignedTinyInteger('ans');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('topics');
}
}
topic
:題目
exam_id
:對應的測驗編號
opt1
~opt4
:選項1~4
ans
:正確解答
其中 20 行的 onDelete('cascade')
是一個約束條件,也就是當測驗刪除時,連同題目也一併刪除之意。 詳情:https://laravel-china.org/docs/laravel/5.6/migrations/1400#499c95
最後執行資料庫遷移即可建出新的資料表
php artisan migrate
一樣看一下是否有建立出來
1. 關於 Laravel 1-1 為何需要框架? 1-2 快速安裝開發環境及開發工具 1-2-1 以XAMPP建立運作環境 1-2-2 Visual Studio Code文字編輯器 1-2-3 安裝 Composer 1-2-4 安裝 GitHub Desktop for Windows 1-2-5 [建議]瀏覽器附加元件 1-2-6 [參考]申請mailtrap帳號 1-2-7 [參考]用Homestead建構開發環境 2. 建立專案 2-1 將專案加入本地端的 git 2-2 將專案放上GitHub 2-3 設定專案環境 2-4 Laravel運作週期 3. 建立使用者認證 3-1 佈署到主機上 3-2 新增語系 3-3 開啟網站並登入 4. 了解路由的運作 4-1 製作系統主樣板 4-2 製作中文語系檔 4-3 修改首頁畫面 4-4 Blade 樣板語法 5. 安裝後台及讀寫機制 5-1 安裝後台的使用者角色管理 5-2 讓閒雜人等不能進入後台 5-3 安裝 laravel-debugbar 方便除錯 6. 建立相關資料表及模型 6-1 編輯並執行測驗(exam)的 migrate 檔案 7. 開始定義系統各項功能 7-1 還沒有控制器的路由寫法 7-2 有控制器的路由寫法 8. 建立新增測驗的操作界面 8-1 安裝marvinlabs/laravel-html-bootstrap-4套件 8-2 建立發布測驗的表單 9. 建立Exam的控制器controller 9-1 修改路由改用控制器 9-2 在視圖中取得使用者編號 9-3 將資料寫進資料庫 9-4 用 fillable 批量賦值寫入 10. 表單驗證及錯誤處理 10-1 建立Request來統一驗證 11. 讀出所有測驗 11-1 讀出時加入各種條件 11-2 加入分頁 12. 讀出單一測驗 12-1 路由模型綁定 12-2 建立並執行題目的Model 及 migrate 文件 12-3 新增題目編輯表單 12-4 儲存題目 12-5 列出題目 12-6 匯入題目 12-7 利用Model查詢資料的方法 12-8 測驗與題目的關聯 13. 利用模型工廠產生隨機題目 13-1 建立Seeder快速填充資料 14. 修改測驗 14-1 更新測驗 14-2 修改題目 14-3 更新題目 15. 刪除題目 15-1 刪除測驗 15-2 加入刪除確認 16. 建立並執行考試的Model 及 migrate 文件 16-1 設定考試與測驗、考生的關聯 16-2 產生考試界面 16-3 儲存並計分 16-4 產生考試結果 17. 安裝設定新北市OpenID登入 17-1 使用新北市OpenID登入 17-2 異動資料表 17-3 修改考試的儲存動作 18. 網站的關閉與啟動 18-1 使用路由前置字串 18-2 使用資源路由 19. 重建由GitHub下載的Laravel專案