ldc-qrcollector-back/app/Models/Brand.php

71 lines
1.5 KiB
PHP

<?php
namespace App\Models;
use App\Traits\Models\ActivityLog;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Brand extends Model
{
use HasFactory;
use ActivityLog;
/**
* The attributes that are mass assignable.
*
* @var list<string>
*/
protected $fillable = [
'name'
];
/**
* The "booted" method of the model.
*
* @return void
*/
protected static function boot(): void
{
parent::boot();
static::deleting(function (self $model) {
$model->users()->detach();
});
}
// * RELATIONSHIPS
/**
* Get the urls for the brand.
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany<\App\Models\Url, $this>
*/
public function urls()
{
return $this->hasMany(Url::class);
}
/**
* Get the urls for the brand.
*
* @return \Illuminate\Database\Eloquent\Relations\HasMany<\App\Models\Service, $this>
*/
public function services()
{
return $this->hasMany(Service::class);
}
/**
* The users that belong to the brand.
*
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany<\App\Models\User,
* $this,
* \Illuminate\Database\Eloquent\Relations\Pivot>
*/
public function users(): BelongsToMany
{
return $this->belongsToMany(User::class);
}
}