neonail-database/app/Models/Manufacturer.php
2025-08-10 18:09:07 +02:00

66 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Manufacturer extends Model
{
use HasFactory;
/**
* Die Tabelle, die dem Model zugeordnet ist.
*/
protected $table = 'manufacturers';
protected $fillable = [
'name',
'description',
'website',
'country',
];
/**
* Beziehung zu Nagellacken
*/
public function nailPolishes()
{
return $this->hasMany(NailPolish::class);
}
/**
* Scope für Suche nach Name
*/
public function scopeSearch($query, $search)
{
return $query->where('name', 'like', "%{$search}%")
->orWhere('description', 'like', "%{$search}%")
->orWhere('country', 'like', "%{$search}%");
}
/**
* Gibt den Namen des Herstellers zurück
*/
public function getDisplayNameAttribute()
{
return $this->name;
}
/**
* Prüft, ob der Hersteller Nagellacke hat
*/
public function hasNailPolishes()
{
return $this->nailPolishes()->exists();
}
/**
* Anzahl der Nagellacke dieses Herstellers
*/
public function getNailPolishCountAttribute()
{
return $this->nailPolishes()->count();
}
}