hasMany(Item::class); } public function company() { return $this->belongsTo(Company::class); } public function scopeWhereCompany($query, $company_id) { $query->where('company_id', $company_id); } public function scopeWhereUnit($query, $unit_id) { $query->orWhere('id', $unit_id); } public function scopeApplyFilters($query, array $filters) { $filters = collect($filters); if ($filters->get('unit_id')) { $query->whereUnit($filters->get('unit_id')); } if ($filters->get('company_id')) { $query->whereCompany($filters->get('company_id')); } } public function scopePaginateData($query, $limit) { if ($limit == 'all') { return collect(['data' => $query->get()]); } return $query->paginate($limit); } }