สร้าง grid ใน laravel

สร้าง grid ใน laravel

ตัว laravel จะไม่มี grid ติดตั้งมาให้ในตัวครับ ถ้าจะใช้ต้องลงเอง ผมเลือกใช้ คือ Nayjest Grids เพราะว่าใช้ bootstrapt เป็นพื้นฐานใช้งานง่าย ไม่ยากจนเกินไป สามารถส่งออกเป็นไฟล์ .csv และ excel ได้ ถึงจะไม่ได้เป็นแบบ ajax แต่เจ้าของโครงการก็ประกาศว่าจะทำ และดูจากการ update แล้วถือว่าถี่มากคงอีกไม่นานก็ได้ใช้

ติดตั้งโดย

  1. เปิดไฟล์ composer.json เพิ่ม[code language=”php” title=”composer.json”]

    "laravelcollective/html": "^5",
    "nayjest/grids": "^1.3.1"

    [/code]
  2. Command[code language=”text”]composer update[/code]
  3. เปิดไฟล์ \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 โดย

  1. [code language=”php” title=”\app\Http\Controllers\UsersController.php”]
    <?php

    namespace App&#92;Http&#92;Controllers;

    use App&#92;Http&#92;Controllers&#92;Controller;
    use Grids;

    class UsersController extends Controller
    {
    public function index()
    {
    $grid = [
    ‘src’ => ‘App&#92;User’,
    ‘columns’ => [
    ‘id’,
    ‘name’,
    ’email’,
    ‘created_at’,
    ‘updated_at’,
    ],
    ];
    echo Grids::make($grid);
    }

    }
    [/code]

  2. สร้าง 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

phunsanit administrator