'boolean', ]; public function company(): BelongsTo { return $this->belongsTo(FilamentCompanies::companyModel(), 'company_id'); } public function createdBy(): BelongsTo { return $this->belongsTo(FilamentCompanies::userModel(), 'created_by'); } public function currency(): BelongsTo { return $this->belongsTo(Currency::class, 'currency_code', 'code'); } public function documents(): HasMany { return $this->hasMany(Document::class); } public function bills(): HasMany { return $this->documents()->where('type', 'bill'); } public function invoices(): HasMany { return $this->documents()->where('type', 'invoice'); } public function scopeVendor($query) { return $query->where('type', 'vendor'); } public function scopeCustomer($query) { return $query->where('type', 'customer'); } public function scopeEmployee($query) { return $query->where('type', 'employee'); } public function scopeCompany($query) { return $query->where('entity', 'company'); } public function scopeIndividual($query) { return $query->where('entity', 'individual'); } }