ldc-startcoq/app/Models/Keyword.php
Jérémy Munsch 615263f233
Refactor and fixes
Fixes #33
Fixes #34
2023-09-08 16:02:21 +02:00

59 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use App\Enums\KeywordCategoryEnum;
use Illuminate\Database\Eloquent\Model;
/**
* @property integer $id
* @property string $label
* @property \App\Enums\KeywordCategoryEnum $keyword_cat
* @property \Carbon\Carbon $created_at
* @property \Carbon\Carbon $updated_at
*
* * RELATIONSHIPS
* @property-read \Illuminate\Database\Eloquent\Collection<\App\Models\Product> $products
* @property-read \Illuminate\Database\Eloquent\Collection<\App\Models\Keyword> $keywordables
*/
class Keyword extends Model
{
/**
* @var array
*/
protected $fillable = [
'label',
'keyword_cat',
'created_at',
'updated_at'
];
/**
* The attributes that should be cast.
*
* @var array
*/
protected $casts = [
'keyword_cat' => KeywordCategoryEnum::class
];
// * RELATIONSHIPS
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function keywordables()
{
return $this->hasMany(Keywordable::class);
}
/**
* MorphToMany products relation.
*
* @return \Illuminate\Database\Eloquent\Relations\MorphToMany
*/
public function products()
{
return $this->morphToMany(Product::class, 'keywordable');
}
}