erp/app/Filters/GoodsSkuLocationFilter.php
2023-04-03 20:25:57 +08:00

48 lines
1.2 KiB
PHP

<?php
namespace App\Filters;
use App\Models\Goods;
use App\Models\GoodsSku;
class GoodsSkuLocationFilter extends Filters
{
public function date($value)
{
return $this->builder->where('date', '=', $value);
}
public function goodsTitle($value)
{
$goodsId = Goods::query()->where('title', $value)->value('id');
return $this->builder->where('goods_id', '=', $goodsId);
}
public function goodsCode($value)
{
$goodsId = Goods::query()->where('goods_code', $value)->value('id');
return $this->builder->where('goods_id', '=', $goodsId);
}
public function externalSkuId($value)
{
[$goodsCode, $skuCode] = explode('_', $value);
$goodsId = Goods::query()->where('goods_code', $goodsCode)->value('id');
$skuId = GoodsSku::query()->where('sku_code', $skuCode)->value('id');
return $this->builder->where('goods_sku_id', '=', $skuId)->where('goods_id', '=', $goodsId);
}
public function location($value)
{
return $this->builder->where('location', '=', $value);
}
public function status($value)
{
return $this->builder->where('status', '=', $value);
}
}