kduma / eloquent-sluggable
Eases using and generating slugs Laravel Eloquent models.
v2.1.0
2023-03-13 23:11 UTC
Requires
- php: >=7.4
- illuminate/support: 7.*|8.*|9.*|10.*
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: ^5.5
README
Eases using and generating slugs Laravel Eloquent models.
Setup
Add the package to the require section of your composer.json and run composer update
"kduma/eloquent-sluggable": "^1.1"
Prepare models
Inside your model (not on top of file) add following lines:
use \KDuma\Eloquent\Slugabble;
Optionally you can add also SluggableString
function which will return string from which slug will be made (default it uses title
field):
protected function SluggableString(){
return $this->year.' '.$this->title;
}
In database create slug
string field. If you use migrations, you can use following snippet:
$table->string('slug')->unique();
Usage
By default it generates slug on first save.
$model->newSlug()
- Generate new slug. (Remember to save it by yourself)Model::whereSlug($slug)->first()
- Find by slug. (whereSlug
is query scope)
Eric L. Barnes
A special thanks to Eric L. Barnes, an original code creator that this package is based on.
Packagist
View this package on Packagist.org: kduma/eloquent-sluggable