HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux ip-172-26-0-120 6.17.0-1009-aws #9~24.04.2-Ubuntu SMP Fri Mar 6 23:50:29 UTC 2026 x86_64
User: ubuntu (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/www/html/owlcrm/app/Models/Company.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasOne;
use App\Models\Files;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;


class Company extends Model implements HasMedia
{
    use InteractsWithMedia;
    protected $table = "companies";
    protected $with = ['my_state', 'my_country', 'my_city', 'image'];
    use HasFactory;
    protected $fillable = [
        'user_id',
        'name',
        'description',
        'logo',
        'address_line_1',
        'address_line_2',
        'country',
        'city',
        'state',
        'postal_code',
        'created_by',
    ];



    public function user()
    {
        return $this->belongsTo(User::class, 'assigned_to', 'id');
    }

    public function my_state()
    {
        return $this->belongsTo(States::class, 'state', 'id');
    }

    public function my_country()
    {
        return $this->belongsTo(Country::class, 'country', 'id');
    }

    public function my_city()
    {
        return $this->belongsTo(City::class, 'city', 'id');
    }

    // public function logo()
    // {
    //     return $this->belongsTo(Files::class, 'logo', 'id');
    // }

    // public function image(): HasOne
    // {
    //     return $this->hasOne(Files::class, 'id', 'logo');
    // }
    public function image()
    {
        return $this->belongsTo(Files::class, 'logo');
    }
    public function registerMediaCollections(): void
    {
        $this->addMediaCollection('logo');
    }
}