Tag Archive create

Byphunsanit

CRUD ใน laravel 5

บอกเลย CRUD (Create, read, update and delete generator) ใน laravel 5 หายากมากจน GII ของ YII ดูเทพขึ้นมาทันที ตัวที่พอจะเทียบได้ก็มี Laravel Generator

ติดตั้งโดย

  1. เพิ่ม package InfyOmLabs/laravel-generator ในไฟล์ composer.json
    composer.json
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    "require": {
    ...
    "infyomlabs/adminlte-templates": "dev-master",
    "infyomlabs/generator-builder": "dev-master",
    "infyomlabs/laravel-generator": "dev-master",
    "infyomlabs/swagger-generator": "dev-master",
    "jlapp/swaggervel": "dev-master"
    "laravelcollective/html": "5.2.*"
    ...
    },
  2. run command
    command
    1
    composer update
  3. เปิดไฟล์ \config\app.php เพิ่ม
    \config\app.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ...
    'providers' => [
    ...
    \InfyOm\Generator\InfyOmGeneratorServiceProvider::class,
    \InfyOm\GeneratorBuilder\GeneratorBuilderServiceProvider::class,
    Collective\Html\HtmlServiceProvider::class,
    Laracasts\Flash\FlashServiceProvider::class,
    Prettus\Repository\Providers\RepositoryServiceProvider::class,
    ...
    ],
     
    'aliases' => [
     
    'Flash'     => Laracasts\Flash\Flash::class,
    'Form'      => Collective\Html\FormFacade::class,
    'Html'      => Collective\Html\HtmlFacade::class,
     
    ],
  4. Publish ไฟล์ไปโฟลเดอร์ public โดย run command
    command
    1
    2
    php artisan vendor:publish
    php artisan infyom:publish
  5. Run routes Publish Command
    command
    1
    php artisan infyom.publish:generator-builder

    จะเพิ่ม rute

    1
    2
    3
    Route::get('generator_builder', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@builder');
    Route::get('field_template', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@fieldTemplate');
    Route::post('generator_builder/generate', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@generate');
  6. Publish view โดย run command
    command
    1
    php artisan infyom.publish:generator-builder --views
  7. เปิดไฟล์ \config\infyom\generator_builder.php แก้เป็น
    \config\infyom\generator_builder.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    return [
     
        'views' => [
     
            'builder' => 'infyom.generator-builder.builder',
     
            'field-template' => 'infyom.generator-builder.field-template'
        ]
    ];
  8. เปิดไฟล์ \config\infyom\laravel_generator.php แก้ ‘templates’ => ‘core-templates’, เป็น ‘templates’ => ‘adminlte-templates’,

ทดลองใช้

  1. ทดลองเรียกดู http://localhost/…/generator_builder
  2. แต่กรอกอะไรก็เจอ error Fail!result ลองจับ traffic ดูก็เห็นว่ามี error MethodNotAllowedHttpException in RouteCollection.php line 218: เปิดไฟล์ \resources\views\infyom\generator-builde\builder.blade.php บรรทัด 321 แก้ type: “POST” เป็น method: “POST”,