count; } public function setCount($count = 1) { $this->count = $count; $this->save(); } public function clone($count = 1): Item { $copyItem = $this->replicate(); $copyItem->setCount($count); return $copyItem; } public function category(): BelongsTo { return $this->belongsTo(Category::class); } public function carts(): BelongsToMany { return $this->belongsToMany(Cart::class, 'carts_items', 'item_id', 'cart_id'); } public function getCategory(): Category { $category = Category::where('id', $this->category_id)->first(); return $category; } public function getCompany() { $category = $this->getCategory(); if($category == null) return null; $company = Company::where('id', $category->company_id)->first(); return $company; } public function isBelong(Company $company): bool { $category = $this->getCategory(); if($category == null) return false; $its_company = $this->getCompany(); if($its_company == null or $company == null) return false; return $its_company->id == $company->id; } }