Subversion-Projekte lars-tiefland.webanos.faltradxxs.de

Revision

Zur aktuellen Revision | Details | Letzte Änderung | Log anzeigen | RSS feed

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