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