このリポジトリは2023-09-09にアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュ、イシューの作成、プルリクエストはできません。
076server/app/Http/Controllers/NihonController.php

139 行
4.3 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Illuminate\Contracts\Routing\ResponseFactory;
use Illuminate\Support\Facades\Log;
class NihonController extends Controller {
public function __construct() {}
public function getGeoRegion () {
$get = DB::table('nhn_region')->get();
foreach ($get as $g) {
$i = DB::table('nhn_island')->where('id', $g->island_id)->first();
$g->island = $i;
unset($i->id); unset($g->island_id);
}
return $get;
}
public function getGeoPrefecture () {
$get = DB::table('nhn_prefecture')->get()->toArray();
foreach ($get as $g) {
$r = DB::table('nhn_region')->where('id', $g->region_id)->first();
$i = DB::table('nhn_island')->where('id', $r->island_id)->first();
$c = DB::table('nhn_city') ->where('id', $g->capital) ->first();
$g->code = array('prefcode' => 'JP-'.sprintf("%02d", $g->id), 'countrycode' => 'JP', 'regioncode' => sprintf("%02d", $g->id));
$g->pref = array('name' => $g->name, 'nameKana' => $g->nameKana, 'nameEng' => $g->nameEng);
$g->type = array('name' => '県', 'nameKana' => 'けん', 'nameEng' => 'Prefecture');
if ($g->id == 1) $g->type = array('name' => '道', 'nameKana' => 'どう', 'nameEng' => 'Territory');
else if ($g->id == 13) $g->type = array('name' => '都', 'nameKana' => 'と', 'nameEng' => 'Metropolis');
else if ($g->id == 26 || $g->id == 27) $g->type = array('name' => '府', 'nameKana' => 'ふ', 'nameEng' => 'Urban Prefecture');
$g->region = $r;
$g->island = $i;
$g->capital = $c;
unset($g->name); unset($g->nameKana); unset($g->nameEng);
unset($r->id); unset($i->id); unset($c->id);
unset($g->region_id); unset($r->island_id); unset($c->prefecture_id);
}
array_unshift($get, array(
'id' => 0,
'capital' => array('name' => '', 'nameKana' => '', 'nameEng' => ''),
'code' => array('name' => '', 'nameKana' => '', 'nameEng' => ''),
'pref' => array('name' => '', 'nameKana' => '', 'nameEng' => ''),
'type' => array('name' => '', 'nameKana' => '', 'nameEng' => ''),
'region' => array('name' => '', 'nameKana' => '', 'nameEng' => ''),
'island' => array('name' => '', 'nameKana' => '', 'nameEng' => '')
));
return $get;
}
public function getGeoIsland () {
$get = DB::table('nhn_island')->get();
return $get;
}
public function getGeoCity ($id) {
$get = DB::table('nhn_city')->where('prefecture_id', $id)->get();
foreach ($get as $g) {
$p = DB::table('nhn_prefecture')->where('id', $g->prefecture_id)->first();
$r = DB::table('nhn_region')->where('id', $p->region_id)->first();
$i = DB::table('nhn_island')->where('id', $r->island_id)->first();
$dc = DB::table('nhn_city_district')->where('city_id', $g->id)->count();
if ($dc > 0) {
$district = DB::table('nhn_city_district')->where('city_id', $g->id)->get();
foreach ($district as $d) { unset($d->id); unset($d->city_id); }
$g->district = $district;
}
$g->prefecture = $p;
$g->region = $r;
$g->island = $i;
unset($p->id); unset($r->id); unset($i->id);
unset($g->prefecture_id); unset($p->region_id); unset($r->island_id);
}
return $get;
}
public function getGeoDistrict ($id) {
$get = DB::table('nhn_city_district')->where('city_id', $id)->get();
foreach ($get as $g) { unset($g->city_id); }
return $get;
}
public function getRailCompany () {
$get = DB::table('nhn_company')->get();
foreach ($get as $g) { unset($g->id); }
return $get;
}
public function getRailLine () {
$get = DB::table('nhn_line')->get();
return $get;
}
public function getRailStation () {
$get = DB::table('nhn_station')->get();
return $get;
}
public function getHistoryPeriod () {
$get = DB::table('nhn_jidai')->get();
foreach ($get as $g) {
$g->current = ($g->current == 1 ?? false);
$g->years = ($g->years != 999 ?: '現在');
$g->finish_date = ($g->finish_date != '2099-12-31' ?: '未定');
unset($g->id);
}
return $get;
}
public function getHoliday ($year) {
$get = DB::table('nhn_holiday')->where('holiday_date', 'LIKE', $year.'-%')->get();
return $get;
}
}