File: /var/www/vhost/disk-apps/teamdemo.sports-crowd.com/database/seeds/AcademyStateFlowMapSeeder.php
<?php
use App\AcademyState;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class AcademyStateFlowMapSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        DB::statement('SET FOREIGN_KEY_CHECKS=0;');
        //eliminar duplicado
        AcademyState::where([
            'name' => "Revisión matrícula",
            "color" => "#E28353",
            "academy_state_condition_id" => "10"
        ])->delete();
        DB::statement('SET FOREIGN_KEY_CHECKS=1;');
        //map conditional id flow
        $academy_states = AcademyState::all();
        foreach ($academy_states as $key => $value) {
            if ($value->academy_state_condition_id) {
                DB::table('academy_state_flows')->insertOrIgnore([
                    'id_academy_state_pre' => $value->academy_state_condition_id,
                    'id_academy_state_pos' => $value->id,
                    'created_at' => now(),
                    'updated_at' => now()
                ]);
            }
        }
        //se crea el predecesor null para el estado futuro preregistro
        DB::table('academy_state_flows')->insertOrIgnore([
            'id_academy_state_pre' => null,
            'id_academy_state_pos' => 1,
            'created_at' => now(),
            'updated_at' => now()
        ]);
        //agregar add new relation 
        $academy_state_registration_renewal = AcademyState::where([
            'name' => "Renovacion de matricula",
        ])->first();
        $academy_state_registration_review = AcademyState::where([
            'name' => "Revisión matrícula",
        ])->first();
        if ($academy_state_registration_renewal && $academy_state_registration_review) {
            DB::table('academy_state_flows')->insertOrIgnore([
                'id_academy_state_pre' => $academy_state_registration_renewal->id,
                'id_academy_state_pos' => $academy_state_registration_review->id,
                'created_at' => now(),
                'updated_at' => now()
            ]);
        }
        //agregar add new relation 
        $academy_state_error_documents = AcademyState::where([
            'name' => "Error documentos",
        ])->first();
        $academy_state_registration_review = AcademyState::where([
            'name' => "Revisión matrícula",
        ])->first();
        if ($academy_state_registration_renewal && $academy_state_registration_review) {
            DB::table('academy_state_flows')->insertOrIgnore([
                'id_academy_state_pre' => $academy_state_error_documents->id,
                'id_academy_state_pos' => $academy_state_registration_review->id,
                'created_at' => now(),
                'updated_at' => now()
            ]);
        }
    }
}