Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 310 | Revision 386 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

    namespace App\Models;

    use Illuminate\Database\Eloquent\Factories\HasFactory;
    use Illuminate\Database\Eloquent\Model;
    use Illuminate\Database\Eloquent\Relations\HasMany;
    use Spatie\Sluggable\HasSlug;
    use Spatie\Sluggable\SlugOptions;

    class Item extends Model
    {
        use HasFactory, HasSlug;

        /**
         * Get the options for generating the slug.
         */
        public function getSlugOptions(): SlugOptions
        {
            return SlugOptions::create()
                ->generateSlugsFrom( 'name' )
                ->saveSlugsTo( 'slug' )
                ->usingLanguage( 'de' )
                ->doNotGenerateSlugsOnUpdate()
                ->skipGenerateWhen( fn() => $this->directory_id < 0 );
        }

        function medium(): HasMany
        {
            return $this->hasMany(ItemMedium::class);
        }

        public function price()
        {
            return $this->hasMany( Price::class )->orderBy("rank");
        }
    }