Merge pull request '駐輪場検索 並び替え修正' (#44) from main_higashide into main
All checks were successful
Deploy so-manager (auto) / deploy (push) Successful in 24s
All checks were successful
Deploy so-manager (auto) / deploy (push) Successful in 24s
Reviewed-on: #44
This commit is contained in:
commit
e13302475e
@ -82,21 +82,16 @@ class RegularContractCreateController extends Controller
|
|||||||
// 並び替えパラメータ取得
|
// 並び替えパラメータ取得
|
||||||
$sort = request()->input('sort', 'park_id');
|
$sort = request()->input('sort', 'park_id');
|
||||||
$order = request()->input('order', 'asc');
|
$order = request()->input('order', 'asc');
|
||||||
\Log::info('sort param: ' . $sort);
|
|
||||||
$sortable = [
|
$sortable = [
|
||||||
'park_ruby' => 'park.park_ruby',
|
'park_ruby' => 'park.park_ruby',
|
||||||
'city_id' => 'city.city_id',
|
'city_id' => 'city.city_id',
|
||||||
'station_name_ruby' => 'station.station_name_ruby',
|
'station_name_ruby' => 'station.station_name_ruby',
|
||||||
'park_id' => 'park.park_id',
|
'park_id' => 'park.park_id',
|
||||||
];
|
];
|
||||||
if (isset($sortable[$sort])) {
|
$query->orderBy('park.park_id', 'asc');
|
||||||
$query->orderBy($sortable[$sort], $order);
|
|
||||||
} else {
|
|
||||||
$query->orderBy('park.park_id', 'asc');
|
|
||||||
}
|
|
||||||
|
|
||||||
$total = $query->count();
|
$total = $query->count();
|
||||||
$parks_table = $query->skip(($page - 1) * $perPage)->take($perPage)->get();
|
$parks_table = $query->get();
|
||||||
|
|
||||||
if ($sort === 'park_ruby' || $sort === 'station_name_ruby') {
|
if ($sort === 'park_ruby' || $sort === 'station_name_ruby') {
|
||||||
$collator = new \Collator('ja_JP');
|
$collator = new \Collator('ja_JP');
|
||||||
@ -107,7 +102,15 @@ class RegularContractCreateController extends Controller
|
|||||||
? $collator->compare($a_val, $b_val)
|
? $collator->compare($a_val, $b_val)
|
||||||
: $collator->compare($b_val, $a_val);
|
: $collator->compare($b_val, $a_val);
|
||||||
})->values();
|
})->values();
|
||||||
|
} else {
|
||||||
|
// park_id, city_idなどはSQLのorderByで十分なので、ここでPHPソートは不要
|
||||||
|
if (isset($sortable[$sort])) {
|
||||||
|
$parks_table = $parks_table->sortBy($sort, SORT_REGULAR, $order === 'desc')->values();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
$page = request()->input('page', 1);
|
||||||
|
$perPage = 10;
|
||||||
|
$parks_table = $parks_table->slice(($page - 1) * $perPage, $perPage)->values();
|
||||||
|
|
||||||
// zoneテーブルデータを取得(psectionテーブルとJOINしてpsection_subjectも取得)
|
// zoneテーブルデータを取得(psectionテーブルとJOINしてpsection_subjectも取得)
|
||||||
$zones = DB::table('zone')
|
$zones = DB::table('zone')
|
||||||
@ -140,7 +143,7 @@ class RegularContractCreateController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
return view('regular_contract.create', [
|
return view('regular_contract.create', [
|
||||||
'active_menu' => $active_menu, // 画面ID
|
'active_menu' => $active_menu, // この画面のID
|
||||||
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
|
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
|
||||||
'cities' => $cities,
|
'cities' => $cities,
|
||||||
'stations' => $stations,
|
'stations' => $stations,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user