companyModules()->first(); $hasConfirmedOrders = checkIfHasConfirmedOrders($company); return [ 'id' => $company->id, 'hash_id' => Crypt::encryptString($company->id), 'name' => $company->name, 'debtor' => $company->debtor, 'reference' => $company->reference, 'type' => $company->type, 'business_type' => (int)$company->business_type, 'status' => $company->status, 'created_at' => $company->created_at->format('d-m-Y'), 'order_count' => $companyModule->orders()->count(), 'has_confirmed_order' => $hasConfirmedOrders, ]; } /** * Include Contact * * @param Company $company * @return Item */ public function includeContact(Company $company): Item { $contact = $company->contacts(); return $this->item($contact->first(), new ContactTransformer()); } /** * add Employee to owner * @param Company $company * @return Item */ public function includeEmployee(Company $company): Item { $companyModule = $company->companyModules()->first(); $employee = $companyModule->employees()->first(); return $this->item($employee, new UserTransformer()); } /** * Include a company Module to the Owner Object * @param Company $company * @return Item */ public function includeCompanyModule(Company $company): Item { $companyModule = $company->companyModules()->first(); return $this->item($companyModule, new CompanyModuleTransformer()); } }