Files
crater/app/Models/Company.php
Mwikala Kangwa 9e98a96d61 Implement PHP CS Fixer and a coding standard to follow (#471)
* Create PHP CS Fixer config and add to CI workflow

* Run php cs fixer on project

* Add newline at end of file

* Update to use PHP CS Fixer v3

* Run v3 config on project

* Run seperate config in CI
2021-05-21 17:27:51 +05:30

63 lines
1.2 KiB
PHP

<?php
namespace Crater\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;
class Company extends Model implements HasMedia
{
use InteractsWithMedia;
use HasFactory;
protected $fillable = ['name', 'logo', 'unique_hash'];
protected $appends = ['logo', 'logo_path'];
public function getLogoPathAttribute()
{
$logo = $this->getMedia('logo')->first();
$isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem();
if ($logo) {
if ($isSystem) {
return $logo->getPath();
} else {
return $logo->getFullUrl();
}
}
return null;
}
public function getLogoAttribute()
{
$logo = $this->getMedia('logo')->first();
if ($logo) {
return $logo->getFullUrl();
}
return null;
}
public function user()
{
return $this->hasOne(User::class);
}
public function settings()
{
return $this->hasMany(CompanySetting::class);
}
public function address()
{
return $this->hasOne(Address::class);
}
}