Menu

Friday, November 22, 2019

[Laravel - Package] วิธีการติดตั้งและตั้งค่า Laravel Sluggable
[Laravel - Package] How to Install and Config Laravel Sluggable

Eloquent-Sluggable เป็น package เสริมสำหรับสร้าง Slug ภายใน Laravel Model โดยจะสร้าง Slug ใส่ฟิลด์ที่ระบุให้โดยอัตโนมัติ เมื่อมีการบันทึกข้อมูล

วิธีการติดตั้ง

  1. สั่งติดตั้ง Eloquent-Sluggable package
  2. composer require cviebrock/eloquent-sluggable
  3. สร้างไฟล์ config ของ package ใน project
  4. php artisan vendor:publish --provider="Cviebrock\EloquentSluggable\ServiceProvider"
    

วิธีการตั้งค่า

  1. เพิ่มฟิลด์สำหรับเก็บ slug ใน migration ของตารางที่ต้องการ
  2. $table->string('name', 100);
    $table->string('slug', 150);
    
  3. เพิ่มการใช้งาน Sluggable ใน Laravel model ที่สัมพันธ์กัน
  4. <?php
    
    ...
    use Cviebrock\EloquentSluggable\Sluggable;
    ...
    
    class Type extends Model
    {
        ...
        use Sluggable;
        ...
        
        /**
         * Return the sluggable configuration array for this model.
         *
         * @return array
         */
        public function sluggable()
        {
            return [
                'slug' => [
                    'source' => 'name',
                    'separator' => '_',
                ]
            ];
        }
    }
    
    โดยที่ 
    • name เป็นฟิลด์ที่ใช้สร้าง Slug
    • slug เป็นฟิลด์ที่ใช้เก็บ Slug ที่ถูกสร้าง

ตัวอย่างการใช้งาน

$type= new Type([
    'name' => 'Parking fee',
]);

$type->save();
// $type->slug is "parking_fee"


$type2= Type::create([
    'name' => 'Server fee',
]);

// $type2->slug is "server_fee"

No comments:

Post a Comment