Subversion-Projekte lars-tiefland.laravel_shop

Revision

Revision 645 | Revision 1478 | Zur aktuellen Revision | Ganze Datei anzeigen | Leerzeichen ignorieren | Details | Blame | Letzte Änderung | Log anzeigen | RSS feed

Revision 645 Revision 1477
Zeile 4... Zeile 4...
4
 
4
 
5
    use Illuminate\Database\Eloquent\Factories\HasFactory;
5
    use Illuminate\Database\Eloquent\Factories\HasFactory;
6
    use Illuminate\Database\Eloquent\Model;
6
    use Illuminate\Database\Eloquent\Model;
7
    use Illuminate\Database\Eloquent\Relations\BelongsTo;
7
    use Illuminate\Database\Eloquent\Relations\BelongsTo;
-
 
8
    use Illuminate\Database\Eloquent\Relations\HasMany;
8
    use Illuminate\Database\Eloquent\Relations\HasMany;
9
    use Illuminate\Support\Facades\Cache;
9
    use Spatie\Sluggable\HasSlug;
10
    use Spatie\Sluggable\HasSlug;
Zeile 10... Zeile 11...
10
    use Spatie\Sluggable\SlugOptions;
11
    use Spatie\Sluggable\SlugOptions;
11
 
12
 
Zeile 38... Zeile 39...
38
 
39
 
39
        public function manufacturer(): BelongsTo
40
        public function manufacturer(): BelongsTo
40
        {
41
        {
41
            return $this->belongsTo( Manufacturer::class );
42
            return $this->belongsTo( Manufacturer::class );
-
 
43
        }
-
 
44
 
-
 
45
// On the Model class add the following method.
-
 
46
 
-
 
47
        public function resolveRouteBinding( $value, $field = null ): ?Model
-
 
48
        {
-
 
49
            $cacheName = "item_{$value}";
-
 
50
 
-
 
51
            if ( Cache::has( $cacheName ) )
-
 
52
            {
-
 
53
                return Cache::get( $cacheName );
-
 
54
            }
-
 
55
 
-
 
56
            $result = $this->query( 'slug', $value )->firstOrFail();
-
 
57
            Cache::put( $cacheName, $result, 3600 );
-
 
58
 
-
 
59
            return $result;
42
        }
60
        }