Subversion-Projekte lars-tiefland.laravel_shop

Revision

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

Revision Autor Zeilennr. Zeile
2 lars 1
<?php
2
 
306 lars 3
    namespace App\Models;
2 lars 4
 
306 lars 5
    use Illuminate\Database\Eloquent\Factories\HasFactory;
6
    use Illuminate\Database\Eloquent\Model;
308 lars 7
    use Illuminate\Database\Eloquent\Relations\HasMany;
306 lars 8
    use Spatie\Sluggable\HasSlug;
9
    use Spatie\Sluggable\SlugOptions;
2 lars 10
 
306 lars 11
    class Item extends Model
12
    {
13
        use HasFactory, HasSlug;
169 lars 14
 
306 lars 15
        /**
16
         * Get the options for generating the slug.
17
         */
18
        public function getSlugOptions(): SlugOptions
19
        {
20
            return SlugOptions::create()
21
                ->generateSlugsFrom( 'name' )
22
                ->saveSlugsTo( 'slug' )
23
                ->usingLanguage( 'de' )
24
                ->doNotGenerateSlugsOnUpdate()
25
                ->skipGenerateWhen( fn() => $this->directory_id < 0 );
26
        }
27
 
308 lars 28
        function medium(): HasMany
29
        {
310 lars 30
            return $this->hasMany(ItemMedium::class);
308 lars 31
        }
32
 
306 lars 33
        public function price()
34
        {
351 lars 35
            return $this->hasMany( Price::class )->orderBy("rank");
306 lars 36
        }
169 lars 37
    }