From ca283fc9a9efc7192dac1b4ee38acf30d4232805 Mon Sep 17 00:00:00 2001 From: "y.higashide" Date: Tue, 7 Oct 2025 17:07:42 +0900 Subject: [PATCH] =?UTF-8?q?app/Http/Controllers/RegularContractCreateContr?= =?UTF-8?q?oller.php=20=E3=82=92=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RegularContractCreateController.php | 24 ++++--------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/app/Http/Controllers/RegularContractCreateController.php b/app/Http/Controllers/RegularContractCreateController.php index bfcf7cd..64edca5 100644 --- a/app/Http/Controllers/RegularContractCreateController.php +++ b/app/Http/Controllers/RegularContractCreateController.php @@ -99,29 +99,13 @@ class RegularContractCreateController extends Controller $parks_table = $query->skip(($page - 1) * $perPage)->take($perPage)->get(); if ($sort === 'park_ruby' || $sort === 'station_name_ruby') { - $locales = [ - 'ja_JP.UTF-8', - 'ja_JP.utf8', - 'ja_JP', - 'japanese', - 'Japanese_Japan.932', - 'Japanese_Japan', - 'ja', - ]; - foreach ($locales as $locale) { - $result = setlocale(LC_COLLATE, $locale); - \Log::info("setlocale try: {$locale} => {$result}"); - if ($result !== false) { - break; - } - } - $parks_table = $parks_table->sort(function ($a, $b) use ($order, $sort) { - // null対策 + $collator = new \Collator('ja_JP'); + $parks_table = $parks_table->sort(function ($a, $b) use ($order, $sort, $collator) { $a_val = $a->$sort ?? ''; $b_val = $b->$sort ?? ''; return $order === 'asc' - ? strcoll($a_val, $b_val) - : strcoll($b_val, $a_val); + ? $collator->compare($a_val, $b_val) + : $collator->compare($b_val, $a_val); })->values(); }