ตัว laravel จะไม่มี grid ติดตั้งมาให้ในตัวครับ ถ้าจะใช้ต้องลงเอง ผมเลือกใช้ คือ Nayjest Grids เพราะว่าใช้ bootstrapt เป็นพื้นฐานใช้งานง่าย ไม่ยากจนเกินไป สามารถส่งออกเป็นไฟล์ .csv และ excel ได้ ถึงจะไม่ได้เป็นแบบ ajax แต่เจ้าของโครงการก็ประกาศว่าจะทำ และดูจากการ update แล้วถือว่าถี่มากคงอีกไม่นานก็ได้ใช้
ติดตั้งโดย
- เปิดไฟล์ composer.json เพิ่ม
... "laravelcollective/html": "^5", "nayjest/grids": "^1.3.1" ...
- Command
composer update
- เปิดไฟล์ \config\app.php เพิ่ม
'providers' => [ ... 'Collective\Html\HtmlServiceProvider', 'Nayjest\Grids\ServiceProvider', ... 'aliases' => [ ... 'Form' => 'Collective\Html\FormFacade', 'Grids' => 'Nayjest\Grids\Grids', 'HTML' => 'Collective\Html\HtmlFacade', 'Input' => 'Illuminate\Support\Facades\Input', ... ]
สร้าง grid โดย
-
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use Grids; class UsersController extends Controller { public function index() { $grid = [ 'src' => 'App\User', 'columns' => [ 'id', 'name', 'email', 'created_at', 'updated_at', ], ]; echo Grids::make($grid); } }
- สร้าง route โดยไปที่ \app\Http\routes.php
... Route::get('/users/index', 'UsersController@index'); ...
ทดลองโดยเรียก /users/index ในเครื่องผมคือ http://localhost/laravel52/public/users/index grid แสดงข้อมูลออกมาแล้วแต่ จะส่งออกเป็นไฟล์ csv หรือ excel ยังไงละ ใจเย็นๆครับ อ่าน สร้าง grid ใน laravel แบบ advance ครับ