'decimal:2', 'split_supply_amount' => 'decimal:2', 'split_tax' => 'decimal:2', 'original_amount' => 'decimal:2', 'sort_order' => 'integer', ]; // ========================================================================= // 관계 정의 // ========================================================================= public function tenant(): BelongsTo { return $this->belongsTo(\App\Models\Tenants\Tenant::class); } // ========================================================================= // 헬퍼 메서드 // ========================================================================= public static function getByDateRange(int $tenantId, string $startDate, string $endDate) { return static::where('tenant_id', $tenantId) ->whereBetween('use_date', [$startDate, $endDate]) ->orderBy('original_unique_key') ->orderBy('sort_order') ->get() ->groupBy('original_unique_key'); } public static function getByUniqueKey(int $tenantId, string $uniqueKey) { return static::where('tenant_id', $tenantId) ->where('original_unique_key', $uniqueKey) ->orderBy('sort_order') ->get(); } }