<?php

namespace Database\Seeders;

use App\Category;
use Illuminate\Database\Seeder;

class ChangeCategorySubItems extends Seeder
{
	/**
	 * Run the database seeds.
	 *
	 * @return void
	 */
	public function run()
	{
		$categories = [
			[
				'name' => '老人ホームの種類',
				'items' => [
					'老人ホームの種類について',
					'介護付き有料老人ホーム',
					'住宅型有料老人ホーム',
					'サービス付き高齢者向け住宅',
					'グループホーム',
					'ケアハウス',
					'特別養護老人ホーム',
					'介護老人保健施設',
					'介護医療院',
				]
			],
			[
				'name' => '老人ホームの費用',
				'items' => [
					'介護付き有料老人ホーム',
					'住宅型有料老人ホーム',
					'サービス付き高齢者向け住宅',
					'グループホーム',
					'ケアハウス',
					'特別養護老人ホーム',
					'介護老人保健施設',
					'介護医療院',
				]
			],
			[
				'name' => '老人ホームの選び方',
				'items' => [
					'老人ホームの選び方',
					'老人ホームの入居条件',
					'老人ホーム見学ポイント'
				]
			],
			[
				'name' => '介護保険制度とは',
				'items' => [
					'介護保険制度とは',
					'介護保険の自己負担額',
					'地域別の介護保険',
					'介護保険サービス一覧'
				]
			],
			[
				'name' => '認知症について',
				'items' => [
					'認知症について',
					'認知症の症状',
					'認知症の方への対応',
					'認知症の予防',
				]
			],
			[
				'name' => '在宅介護について',
				'items' => [
					'在宅介護とは',
					'在宅介護サービスの種類',
					'在宅介護の費用',
					'地域包括支援センターとは',
				]
			],
		];

		$maxCate = Category::where('is_deleted', 0)->orderBy('position')->first();
		$countPosition = $maxCate->position;

		foreach ($categories as $category) {
			$cate = Category::isPublished()->where('parent_id', 0)->where('name', $category['name'])->first();
			if (!$cate) {
				$cate = Category::create([
					'name' => $category['name'],
					'slug' => $category['name'],
					'parent_id' => 0,
					'position' => 0,
					'is_show_bbs' => 1,
					'is_activated' => 1,
					'is_deleted' => 0,
					'created_at' => date('Y-m-d H:i:s'),
					'updated_at' => date('Y-m-d H:i:s')
				]);
			}

			foreach ($category['items'] as $sub) {
				$countPosition++;
				$cateSub = Category::isPublished()->where('parent_id', $cate->id)->where('name', $sub)->first();
				if (!$cateSub) {
					Category::create([
						'name' => $sub,
						'slug' => $sub,
						'parent_id' => $cate->id,
						'position' => $countPosition,
						'is_show_bbs' => 0,
						'is_activated' => 1,
						'is_deleted' => 0,
						'created_at' => date('Y-m-d H:i:s'),
						'updated_at' => date('Y-m-d H:i:s')
					]);
				} else {
					$cateSub->update(['position' => $countPosition]);
				}
			}
		}
	}
}
