larapack / attribute-slugging by marktopper

Allows your Eloquent Model to automatically generate a unique slug for a attribute on save.
1,330
5
2
Package Data
Maintainer Username: marktopper
Package Create Date: 2015-11-27
Package Last Update: 2015-12-17
Language: PHP
License: MIT
Last Refreshed: 2024-04-15 15:02:41
Package Statistics
Total Downloads: 1,330
Monthly Downloads: 12
Daily Downloads: 0
Total Stars: 5
Total Watchers: 2
Total Forks: 1
Total Open Issues: 0

attribute-slugging

Allows your Eloquent Model to automatically generate a unique slug for a attribute on save.

Installing

Install using Composer composer require larapack/attribute-slugging 1.*.

Usage

First add the trait Sluggable to your Eloquent Model.

<?php

namespace App;

use Larapack\AttributeSlugging\Sluggable;

class User
{
  use Sluggable;
  
  /**
   * @var array List of attribute names which should be slugged
   */ 
  protected $slug = [
    'username_slug' => 'username', // set the attribute names you which to slug and from what attribute it should be generated from
  ];
  
  //...
}

Test:

// we make two user objects
$userA = new App\User;
$userB = new App\User;
// then we set both username's to "Mark"
$userA->username = "Mark";
$userB->username = "Mark";
// save both objects
$userA->save();
$userB->save();
// now the unique slugs have been set
echo $userA->username_slug; // outputs "mark"
echo $userB->username_slug; // outputs "mark-2"