Customer.php 973B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Casts\Attribute;
  4. use Illuminate\Database\Eloquent\Factories\HasFactory;
  5. use Illuminate\Database\Eloquent\Model;
  6. class Customer extends Model
  7. {
  8. use HasFactory;
  9. protected $fillable = [
  10. 'customer_number',
  11. 'name',
  12. 'phone',
  13. 'gender_id',
  14. ];
  15. protected function genderId(): Attribute
  16. {
  17. return Attribute::make(
  18. get:fn($value) => $value == 1 ? __('words.female') : __('words.male'),
  19. );
  20. }
  21. public function scopeFilter($query, $filters)
  22. {
  23. $query->when($filters['search'] ?? null, function ($query, $search) {
  24. $query->where(function ($query) use ($search) {
  25. $query->where('customer_number', 'like', '%' . $search . '%')
  26. ->orWhere('name', 'like', '%' . $search . '%')
  27. ->orWhere('phone', 'like', '%' . $search . '%');
  28. });
  29. });
  30. }
  31. }