|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/account.appointkrypt.com/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Business extends Model
{
use HasFactory;
protected $fillable = [
'name', 'status','slug','is_disable'
];
protected static function boot()
{
parent::boot();
static::created(function ($business) {
$business->slug = $business->createSlug($business->name);
$business->save();
});
}
private function createSlug($name)
{
if (static::whereSlug($slug = \Str::slug($name))->exists()) {
$max = static::whereName($name)->latest('id')->skip(1)->value('slug');
if (isset($max[-1]) && is_numeric($max[-1])) {
return preg_replace_callback('/(\d+)$/', function ($mathces) {
return $mathces[1] + 1;
}, $max);
}
return "{$slug}-2";
}
return $slug;
}
}