From 420e44e0fe4623a439e26dfd0526ee5ef606a170 Mon Sep 17 00:00:00 2001 From: horus Date: Mon, 24 Feb 2020 02:47:52 +0100 Subject: Crude workaround. --- app/Anime.php | 8 +++ app/AnimeStats.php | 15 ++++-- app/Http/Controllers/IndexController.php | 4 +- app/Libraries/AnimeSeason.php | 13 +++-- .../2020_02_23_235746_create_anime_table.php | 44 ++++++++++++++++ .../2020_02_23_235949_create_stats_table.php | 61 ++++++++++++++++++++++ .../migrations/2020_02_24_005015_add_fk_stats.php | 32 ++++++++++++ 7 files changed, 168 insertions(+), 9 deletions(-) create mode 100644 database/migrations/2020_02_23_235746_create_anime_table.php create mode 100644 database/migrations/2020_02_23_235949_create_stats_table.php create mode 100644 database/migrations/2020_02_24_005015_add_fk_stats.php diff --git a/app/Anime.php b/app/Anime.php index e19e214..ac5c650 100644 --- a/app/Anime.php +++ b/app/Anime.php @@ -10,6 +10,7 @@ use Jikan\MyAnimeList\MalClient; class Anime extends Model { + /* public $id; public $mal_id; @@ -22,6 +23,7 @@ class Anime extends Model { public $title_pref; public $type; + */ private $animeInfo; @@ -53,6 +55,12 @@ class Anime extends Model { } } + /* + public function getStats() { + return $this->hasMany('App\AnimeStats'); + } +*/ + protected function getInfo() { return $this->animeInfo; } diff --git a/app/AnimeStats.php b/app/AnimeStats.php index fc69468..3bc6d25 100644 --- a/app/AnimeStats.php +++ b/app/AnimeStats.php @@ -1,11 +1,14 @@ mal_id = $id; - parent::__construct($this->mal_id); + #parent::__construct($this->mal_id); $jikan = new Malclient; @@ -63,7 +67,10 @@ class AnimeStats extends Anime { } */ - $animeInfo = $this->getInfo(); + #$animeInfo = $this->getInfo(); + $animeInfo = $jikan->getAnime( + (new \Jikan\Request\Anime\AnimeRequest( $this->mal_id )) + ); $this->score = $animeInfo->getScore(); $this->scored_by = $animeInfo->getScoredBy(); $this->rank = $animeInfo->getRank(); diff --git a/app/Http/Controllers/IndexController.php b/app/Http/Controllers/IndexController.php index 40bffa6..e254c50 100644 --- a/app/Http/Controllers/IndexController.php +++ b/app/Http/Controllers/IndexController.php @@ -40,7 +40,7 @@ class IndexController extends Controller { #$stats = new AnimeScore( 21 ); #var_dump($stats); - echo "
";
-		var_dump($season);
+		#echo "
";
+		#var_dump($season);
 	}
 }
diff --git a/app/Libraries/AnimeSeason.php b/app/Libraries/AnimeSeason.php
index acdb34f..1bc3655 100644
--- a/app/Libraries/AnimeSeason.php
+++ b/app/Libraries/AnimeSeason.php
@@ -1,6 +1,8 @@
 getSeasonal(
@@ -33,17 +36,21 @@ class AnimeSeason {
 		foreach($season->anime as $entry) {
 			$count++;
 
+			#Anime::where('mal_id', $entry->getMalID() );
 			$anime = new Anime( $entry->getMalID() );
-			$anime->save();
+
+			if( ! DB::table('anime')->where('mal_id', $entry->getMalID() )->exists() ) {
+				$anime->save();
+			}
 
 			$animeStats = new AnimeStats( $entry->getMalID(), $this->year, $this->name );
 			$this->anime[] = $animeStats;
 
-			$animeStats->create();
+			$animeStats->save();
 
 			/*
 			echo "
";
-			var_dump($anime);
+			var_dump($animeStats);
 			 */
 
 			if ( $count == 1) {
diff --git a/database/migrations/2020_02_23_235746_create_anime_table.php b/database/migrations/2020_02_23_235746_create_anime_table.php
new file mode 100644
index 0000000..985812e
--- /dev/null
+++ b/database/migrations/2020_02_23_235746_create_anime_table.php
@@ -0,0 +1,44 @@
+bigIncrements('id');
+
+	    $table->unsignedBigInteger('mal_id')->unique()->default('0');
+
+	    $table->string('url')->default('');
+	    $table->string('image_url')->default('');
+
+	    $table->string('title_eng')->default('');
+	    $table->string('title_rom')->default('');
+	    $table->string('title_nat')->default('');
+	    $table->string('title_pref')->default('');
+
+	    $table->string('type')->default('');
+
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('anime');
+    }
+}
diff --git a/database/migrations/2020_02_23_235949_create_stats_table.php b/database/migrations/2020_02_23_235949_create_stats_table.php
new file mode 100644
index 0000000..142374c
--- /dev/null
+++ b/database/migrations/2020_02_23_235949_create_stats_table.php
@@ -0,0 +1,61 @@
+bigIncrements('id');
+
+	    $table->unsignedBigInteger('mal_id')->default(0);
+
+            $table->string('season_name')->default('');
+            $table->integer('season_year')->default(0);
+
+            $table->float('score')->default(0);
+            $table->integer('scored_by')->default(0);
+            $table->integer('rank')->default(0);
+            $table->integer('popularity')->default(0);
+            $table->integer('members')->default(0);
+            $table->integer('favorites')->default(0);
+
+            $table->integer('watching')->default(0);
+            $table->integer('completed')->default(0);
+            $table->integer('onhold')->default(0);
+            $table->integer('dropped')->default(0);
+            $table->integer('plan_to_watch')->default(0);
+
+            $table->integer('score_1')->default(0);
+            $table->integer('score_2')->default(0);
+            $table->integer('score_3')->default(0);
+            $table->integer('score_4')->default(0);
+            $table->integer('score_5')->default(0);
+            $table->integer('score_6')->default(0);
+            $table->integer('score_7')->default(0);
+            $table->integer('score_8')->default(0);
+            $table->integer('score_9')->default(0);
+            $table->integer('score_10')->default(0);
+
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('stats');
+    }
+}
diff --git a/database/migrations/2020_02_24_005015_add_fk_stats.php b/database/migrations/2020_02_24_005015_add_fk_stats.php
new file mode 100644
index 0000000..3a6a66a
--- /dev/null
+++ b/database/migrations/2020_02_24_005015_add_fk_stats.php
@@ -0,0 +1,32 @@
+foreign('mal_id')->references('mal_id')->on('anime');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('stats', function (Blueprint $table) {
+            //
+        });
+    }
+}
-- 
cgit v1.2.3