52 lines
1.5 KiB
PHP
52 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace App\Console\Commands;
|
|
|
|
use Illuminate\Console\Command;
|
|
use App\Models\Artwork;
|
|
use App\Models\Episode;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class AddMissingArtworkIdsToEpisodes extends Command
|
|
{
|
|
/**
|
|
* The name and signature of the console command.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $signature = 'naart:artwork-to-episodes';
|
|
|
|
/**
|
|
* The console command description.
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $description = 'Command description';
|
|
|
|
/**
|
|
* Execute the console command.
|
|
*/
|
|
public function handle()
|
|
{
|
|
$oldEpisodes = DB::connection('legacy')->select('SELECT * FROM episodes WHERE artwork_id IS NOT NULL AND published = 1');
|
|
foreach($oldEpisodes as $oldEpisode) {
|
|
$this->info('Checking old episode ' . $oldEpisode->show_date);
|
|
$episode = Episode::where('legacy_id', $oldEpisode->id)->first();
|
|
$artwork = Artwork::where('legacy_id', $oldEpisode->artwork_id)->first();
|
|
if ($episode && $artwork) {
|
|
$this->line('Have artwork ' . $artwork->title . ' for episode ' . $episode->title);
|
|
$episode->artwork_id = $artwork->id;
|
|
$episode->timestamps = false;
|
|
if ($episode->isDirty()) {
|
|
$this->info('I need to update this.');
|
|
//$episode->save();
|
|
} else {
|
|
$this->line('No Change Needed.');
|
|
}
|
|
} else {
|
|
$this->error('I am lost.');
|
|
}
|
|
}
|
|
}
|
|
}
|