[REFACTOR] 優化資料庫查詢效能:在多個 Service 與 Controller 中加入 select 欄位限制,並新增租戶資料表索引 Migration。

This commit is contained in:
2026-03-09 14:59:37 +08:00
parent 89291918fd
commit a987f4345e
13 changed files with 143 additions and 24 deletions

View File

@@ -13,7 +13,7 @@ class InventoryService implements InventoryServiceInterface
{
public function getAllWarehouses()
{
return Warehouse::all();
return Warehouse::select('id', 'name', 'code', 'type')->get();
}
public function getTopInventoryValue(int $limit = 5): \Illuminate\Support\Collection
@@ -38,12 +38,14 @@ class InventoryService implements InventoryServiceInterface
public function getAllProducts()
{
return Product::with(['baseUnit', 'largeUnit'])->get();
return Product::select('id', 'name', 'code', 'base_unit_id', 'large_unit_id')
->with(['baseUnit:id,name', 'largeUnit:id,name'])
->get();
}
public function getUnits()
{
return \App\Modules\Inventory\Models\Unit::all();
return \App\Modules\Inventory\Models\Unit::select('id', 'name')->get();
}
public function getInventoriesByIds(array $ids, array $with = [])