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專案
17-3
修改考試的儲存動作
修改控制器\專案\app\Http\Controllers\TestController.php
public function store(Request $request)
{
$content = collect($request->ans)->toJson();
$score = 0;
foreach ($request->ans as $topic_id => $ans) {
$topic = Topic::find($topic_id);
$score += ($topic->ans == $ans) ? 20 : 0;
}
$class_info = session('pref/language');
$test = Test::create([
'content' => $content,
'user_id' => $request->user_id,
'exam_id' => $request->exam_id,
'score' => $score,
'grade' => substr($class_info, 0, 2),
'class' => substr($class_info, 2, 2),
'num' => substr($class_info, 4, 2),
]);
return redirect()->route('test.show', $test->id);
}
修改考試的模型\專案\app\Test.php
,主要是修改$fillable新增加入的欄位
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Test extends Model
{
protected $fillable = [
'content', 'user_id', 'exam_id', 'score','grade','class','num',
];
public function exam()
{
return $this->belongsTo('App\Exam');
}
public function user()
{
return $this->belongsTo('App\User');
}
}
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專案