erp/app/Filters/GoodsSkuFilter.php

76 lines
1.7 KiB
PHP
Raw Permalink Normal View History

2022-07-28 16:06:15 +08:00
<?php
namespace App\Filters;
2024-10-30 16:20:36 +08:00
use Carbon\Carbon;
2022-07-28 16:06:15 +08:00
class GoodsSkuFilter extends Filters
{
2022-07-28 17:08:05 +08:00
protected function skuTitle($value)
2022-07-28 16:06:15 +08:00
{
2023-04-26 10:54:50 +08:00
return $this->builder->where('title', 'like', '%' . $value . '%');
2022-07-28 16:06:15 +08:00
}
protected function status($value)
{
2023-04-17 18:56:59 +08:00
return $this->builder->where('status', $value);
2022-07-28 16:06:15 +08:00
}
2022-10-21 13:09:30 +08:00
protected function excludeIds($value)
{
return $this->builder->whereNotIn('id', $value);
}
2023-04-17 18:56:59 +08:00
protected function externalSkuId($value)
{
return $this->builder->where('external_sku_id', $value);
}
2023-07-26 13:58:52 +08:00
protected function isCombination($value)
{
return $this->builder->where('is_combination', $value);
}
2024-10-30 15:15:54 +08:00
protected function createTimeStart($value)
{
2024-10-30 16:20:36 +08:00
return $this->builder->where('created_at', ">=", $value);
2024-10-30 15:15:54 +08:00
}
protected function createTimeEnd($value)
{
2024-10-30 16:20:36 +08:00
$end = Carbon::parse($value)->endOfDay()->toDateTimeString();
return $this->builder->where('created_at', "<=", $end);
2024-10-30 15:15:54 +08:00
}
2024-11-12 13:49:03 +08:00
protected function minStock($value)
{
return $this->builder->where('stock',">=", $value);
}
protected function maxStock($value)
{
return $this->builder->where('stock',"<=", $value);
}
protected function minSaleStock($value)
{
return $this->builder->where('sale_stock',">=", $value);
}
protected function maxSaleStock($value)
{
return $this->builder->where('sale_stock',"<=", $value);
}
protected function neqSaleStock($value)
{
return $this->builder->where('sale_stock',"!=", $value);
}
protected function neqStock($value)
{
return $this->builder->where('stock',"!=", $value);
}
2022-07-28 16:06:15 +08:00
}