Expense.php 851B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Models;
  3. use App\Models\Outlet;
  4. use App\Models\User;
  5. use Illuminate\Database\Eloquent\Factories\HasFactory;
  6. use Illuminate\Database\Eloquent\Model;
  7. class Expense extends Model
  8. {
  9. use HasFactory;
  10. protected $fillable = [
  11. 'description',
  12. 'amount',
  13. 'user_id',
  14. 'outlet_id',
  15. ];
  16. public function outlet()
  17. {
  18. return $this->belongsTo(Outlet::class);
  19. }
  20. public function user()
  21. {
  22. return $this->belongsTo(User::class);
  23. }
  24. public function scopeFilter($query, array $filters)
  25. {
  26. $query->when($filters['dates'] ?? null, function ($query, $dates) {
  27. $query->whereBetween('created_at', $dates);
  28. })->when($filters['outlet'] ?? null, function ($query, $outlet) {
  29. $query->where('outlet_id', $outlet);
  30. });
  31. }
  32. }