File: /var/www/html/spion/app/Models/Template.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
use App\Models\Industry;
use App\Models\UserWishlist;
class Template extends Model implements HasMedia
{
use HasFactory, InteractsWithMedia;
protected $fillable = ['title', 'description', 'tags', 'features', 'status','industry_id'];
protected $appends = ['image_url'];
public function registerMediaCollections(): void
{
$this->addMediaCollection('main_image')->singleFile(); // Single main image
$this->addMediaCollection('screenshots'); // Multiple screenshots
}
public function industry()
{
return $this->belongsTo(Industry::class);
}
public function getImageUrlAttribute()
{
return $this->getFirstMediaUrl('main_image');
}
public function wishlists()
{
return $this->hasMany(UserWishlist::class);
}
}