Segelparade / www / symfonyproject / src / DataFixtures / AppFixtures.php
AppFixtures.php
Raw
<?php

namespace App\DataFixtures;

use App\Entity\Conversation;
use Doctrine\Bundle\FixturesBundle\Fixture;
use Doctrine\Persistence\ObjectManager;

use App\Entity\User;
use App\Entity\Image;
use App\Entity\Tag;
use App\Entity\Processing;
use App\Entity\BackendUser;
use Symfony\Component\Process\Process;

class AppFixtures extends Fixture
{
    public function load(ObjectManager $manager): void
    {

        // --- User ---
        $name = [
            "Lena Müller",
            "Jonas Schmidt",
            "Sophia Wagner",
            "Timo Fischer",
            "Laura Berger"
            ];

        foreach($name as $name){
            $user = new User();
            $user->setName($name);
            $user->setAge(8);
            
            $user->setEmail('beispiel@email.com');

            $users[] = $user;

            $manager->persist($user);
        }

        // --- Tags ---

        // $boat = new Tag();
        // $boat->setName('boot');
        // $boat->setType("vehicle");
        // $manager->persist($boat);

        // $tag = $boat;

        // --- direction and option tags ---
        // angepasst 

        $tagData = [
            ['name' => 'submarine', 'type' => 'content'],
            ['name' => 'steamboat', 'type' => 'content'],
            ['name' => 'freighter', 'type' => 'content'],
            ['name' => 'pirateboat', 'type' => 'content'],
            ['name' => 'hotairballoon', 'type' => 'content'],
            ['name' => 'sailingboat', 'type' => 'content'],
            ['name' => 'seanimal', 'type' => 'content'],
            ['name' => 'helicopter', 'type' => 'content'],

            ['name' => 'left', 'type' => 'direction'],
            ['name' => 'right', 'type' => 'direction']
        ];

        $tags = [];

        foreach ($tagData as $data) {
            $tag = new Tag();
            $tag->setName($data['name']);
            $tag->setType($data['type']);
            $tags[] = $tag;
            $manager->persist($tag);

        $manager->flush();
    }

        // --- Images ---
        $date = new \DateTime('now');
        $processes = array(
            0 =>1,
            1 =>1,
            2 =>1,
            3 =>2,
            4 =>2,
        );
        $images = [];


        //directory 
        $dir= '/upload/';
        $imagelist = [
                $dir."015_Mathilda.png",
                $dir."009_Caspar.png",
                $dir."025_Marta.png",
                $dir."005_Schiff_Aimee.png",
                $dir."020_Ophelia.png",
        ];

        for($i=0;$i<5;$i++){
            $image = new Image();
            $image->setImageFile($imagelist[$i]);
            $image->setFkUser($users[$i]);
            $image->setUploaded($date);
            $image->addTag($tags[1]); // angepasst
            $manager->persist($image);
            $images[] = $image;

            $process = new Processing();
            $process->setQuality($processes[$i]);
            $process->setDate($date);
            $process->settype("new");
            $process->addFkImage($image);

            $manager->persist($process);
        }        

        // --- conversions ---
            $con1 = new Conversation();
            $con1->setMessage("Sehr geehrte(r) Benutzer, bei Ihrem Bild haben wir noch eine Rückfrage. Bitte teilen Sie uns mit, um welche Art von Schiff es sich handelt (z.b. Segelboot). Viele Grüße");
            $con1->setType("out");
            $con1->setSend(new \DateTime('now'));
            $con1->setFkImage($images[0]);
            $manager->persist($con1);

            $con2 = new Conversation();
            $con2->setMessage("Liebes Segelparadenteam. Es handelt sich um ein Schwebendes Luftschiff mit Düsenantrieb. Lieben Gruß");
            $con2->setType("in");
            $con2->setSend(new \DateTime('now'));
            $con2->setFkImage($images[0]);
            $manager->persist($con2);

        $manager->flush();
    }
}