where('order_item_id', $orderItemId) ->first(); } public function findByOrderId(int $orderId): array { $rows = DB::table('gc_pin_issues') ->where('order_id', $orderId) ->orderBy('id', 'asc') ->get(); return array_map(fn ($r) => (array)$r, $rows->all()); } public function insert(array $data): int { return (int) DB::table('gc_pin_issues')->insertGetId($data); } public function markOpened(int $id, string $now, array $logs, ?string $reason = null): void { DB::table('gc_pin_issues') ->where('id', $id) ->update([ 'opened_at' => $now, 'cancel_status' => 'LOCKED', 'cancel_locked_reason' => $reason ?? '핀 오픈 완료', 'issue_logs_json' => json_encode($logs, JSON_UNESCAPED_UNICODE), 'updated_at' => $now, ]); } }