ตัว laravel จะไม่มี grid ติดตั้งมาให้ในตัวครับ ถ้าจะใช้ต้องลงเอง ผมเลือกใช้ คือ Nayjest Grids เพราะว่าใช้ bootstrapt เป็นพื้นฐานใช้งานง่าย ไม่ยากจนเกินไป สามารถส่งออกเป็นไฟล์ .csv และ excel ได้ ถึงจะไม่ได้เป็นแบบ ajax แต่เจ้าของโครงการก็ประกาศว่าจะทำ และดูจากการ update แล้วถือว่าถี่มากคงอีกไม่นานก็ได้ใช้
ติดตั้งโดย
- เปิดไฟล์ composer.json เพิ่ม
composer.json 1234...
"laravelcollective/html"
:
"^5"
,
"nayjest/grids"
:
"^1.3.1"
...
- Command
1
composer update
- เปิดไฟล์ \config\app.php เพิ่ม
\config\app.php 1234567891011121314'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 โดย
-
\app\Http\Controllers\UsersController.php 12345678910111213141516171819202122232425<?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
\app\Http\routes.php 123...
Route::get(
'/users/index'
,
'UsersController@index'
);
...
ทดลองโดยเรียก /users/index ในเครื่องผมคือ http://localhost/laravel52/public/users/index grid แสดงข้อมูลออกมาแล้วแต่ จะส่งออกเป็นไฟล์ csv หรือ excel ยังไงละ ใจเย็นๆครับ อ่าน สร้าง grid ใน laravel แบบ advance ครับ
About the author