搭配服用文件:
Laravel: View
Laravel: Controller
好了~我們要把資料傳到View上,
來到我們的web.php:
Route::get('/', function () {
return view('index', ['user_name' => 'Rachel']);
});
在 index.blade.php
裡面,就像vue語法,使用鬍子刮鬍,並將varible加上星號就可
我的名字是 {{ $user_name }}
可以用->with寫法做串連:
Route::get('/', function () {
return view('index')
->with('name', 'Rachel')
->with('age', 'forever 18');
});
我們也可以使用Laravel Facades裡的DB
use Illuminate\Support\Facades\DB;
Route::get('/', function () {
return view('index', ['users' => DB::table('career_users')->get()]);
});
什麼是Facades?
Facades是一種靜態介面,我們可以透過Laravel的Facades來取用Laravel的功能
參考:Laravel道場:Facades & [Design Pattern] Facade 門面模式
但要是我們要傳的資料變得很複雜怎麼辦咧?
這時候我們就需要Controller
Controller可以幫我們處理瀏覽器發出的請求。
先來php artisan make:controller {你的Controller名稱}
然後就看到 app>Http>Controllers>HomeController.php
建立好了。
加上一個showIndex function, 並使用Model引入我們的資料,CareerUser::all()
表示查找所有資料。
下面雖然只是簡單使用了Model,如果要多作任何變化,就在Controller裡面進行囉!
DB->Model->Controller(邏輯放這邊)->routes
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\CareerUser; //別忘了引入我們的Model
use Illuminate\View\View; //記得引入
class HomeController extends Controller
{
public function showIndex(): View {
return view('index', ['users' => CareerUser::all()]);
}
}
在routes>web.php
改成使用controller:
use App\Http\Controllers\HomeController; //也別忘了引用
Route::get('/', [HomeController::class, 'showIndex']); //前面指定controller,後面是我們使用的function
而在blade上就直接使用我們的變數
所有名單:{{ $users }}
render出我們資料的Array:
下一篇來看看怎麼在blade裡面玩轉資料!