mirror of
				https://github.com/crater-invoice/crater.git
				synced 2025-10-31 05:31:10 -04:00 
			
		
		
		
	build version 400
This commit is contained in:
		
							
								
								
									
										56
									
								
								app/Models/Unit.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								app/Models/Unit.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| <?php | ||||
|  | ||||
| namespace Crater\Models; | ||||
|  | ||||
| use Crater\Models\Company; | ||||
| use Illuminate\Database\Eloquent\Model; | ||||
| use Crater\Models\Item; | ||||
| use Illuminate\Database\Eloquent\Factories\HasFactory; | ||||
|  | ||||
| class Unit extends Model | ||||
| { | ||||
|     use HasFactory; | ||||
|     protected $fillable = ['name', 'company_id']; | ||||
|  | ||||
|     public function items() | ||||
|     { | ||||
|         return $this->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); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user