Sale.php 882B

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. class Sale extends Model
  6. {
  7. use HasFactory;
  8. protected $fillable = [
  9. 'number',
  10. 'status',
  11. 'customer_id',
  12. 'user_id'
  13. ];
  14. public function saleDetail()
  15. {
  16. return $this->hasOne(SaleDetail::class);
  17. }
  18. public function saleDetailProduct()
  19. {
  20. return $this->belongsToMany(Product::class, SaleDetail::class);
  21. }
  22. public function scopeFilter($query, array $filters)
  23. {
  24. $query->when($filters['search'] ?? null, function ($query, $search) {
  25. $query->where(function ($query) use ($search) {
  26. $query->where('number', 'like', '%' . $search . '%')
  27. ->orWhere('status', 'like', '%' . $search . '%');
  28. });
  29. });
  30. }
  31. }