przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

$plk = file('filmy.txt');
shuffle($plk);
foreach ($plk as $linia) {
    $tmp = parsuj_film(trim($linia));
    $q = Doctrine_Query::create()
        ->from('Film f')
        ->where('f.tytul = ?', $tmp['tytul']);
    $film = $q->fetchOne();
    if (!$film) {
        $film = new Film();
        $film['tytul'] = $tmp['tytul'];
        $film['slug'] = string2slug($tmp['tytul']);
        $film->save();
    }
    foreach ($tmp['aktorzy'] as $a) {
        $q = Doctrine_Query::create()
            ->from('Aktor a')
            ->where('a.imie = ?', $a['imie'])
            ->andWhere('a.nazwisko = ?', $a['nazwisko']);
        $aktor = $q->fetchOne();
        if (!$aktor) {
            $aktor = new Aktor();
            $aktor['imie'] = $a['imie'];
            $aktor['nazwisko'] = $a['nazwisko'];
            $aktor['slug'] = string2slug($a['imie'] . ' ' . $a['nazwisko']);
            $aktor->save();
        }

        $fa = new FilmAktor();
        $fa['aktor'] = $aktor;
        $fa['film']  = $film;

        try {
            $fa->save();
        } catch (Exception $e) {
            echo 'ERROR: ' . $e->getMessage() . "<br />\n";
        }

    }
}

Listing 12.6. Zarys skryptu wstaw.php z projektu 12.2

Rozdział 12. Relacje n:m

listing-12-06.txt

Reklama

Szkolenia z Symfony 2.0