File: /var/www/html/orbidirectory.com/app/Models/Website.php
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Website extends Model implements HasMedia
{
use HasFactory, InteractsWithMedia;
protected $fillable = [
'user_id',
'subdomain',
'name',
'email',
'phone_number',
'whatsapp_number',
'dob',
'address_line_1',
'address_line_2',
'city_id',
'state_id',
'country_id',
'zip_code',
'about_heading',
'about_description',
'start_year',
'happy_customers',
'customer_rating',
'driving_skills',
'navigation_skills',
'time_management',
'additional_skills_desc',
'booking_form_heading',
'booking_form_desc',
'why_choose_heading',
'why_choose_desc',
'service_heading',
'service_desc',
'facebook_url',
'instagram_url',
'linkedin_url',
'twitter_url',
'status'
];
const status = [
1 => 'Inactive',
0 => 'Active',
];
// Add other model properties and methods here
public function registerMediaCollections(): void
{
$this->addMediaCollection('website_logo')->singleFile();
$this->addMediaCollection('website_footer_logo')->singleFile();
$this->addMediaCollection('website_favicon')->singleFile();
$this->addMediaCollection('driver_picture')->singleFile();
$this->addMediaCollection('why_choose_big_image')->singleFile();
$this->addMediaCollection('why_choose_small_image')->singleFile();
$this->addMediaCollection('banner_image')->singleFile();
$this->addMediaCollection('website_video')->singleFile();
}
public function user()
{
return $this->belongsTo(User::class, 'user_id', 'id');
}
public function country()
{
return $this->belongsTo(Country::class, 'country_id', 'id');
}
public function state()
{
return $this->belongsTo(State::class, 'state_id', 'id');
}
public function city()
{
return $this->belongsTo(City::class, 'city_id', 'id');
}
public function vehicles()
{
return $this->hasMany(Vehicles::class, 'transporter_id', 'user_id');
}
public function websiteServices()
{
return $this->hasMany(WebsiteService::class, 'website_id', 'id');
}
public function testimonial()
{
return $this->hasMany(Testimonial::class, 'website_id', 'id');
}
public function languages()
{
return $this->hasMany(Languages::class, 'transporter_id', 'user_id');
}
}