przewiń do treści

Zend Framework od podstaw

Włodzimierz Gajda

...
$application->bootstrap('db');

$Film = new Application_Model_DbTable_Film();
$Aktor = new Application_Model_DbTable_Aktor();
$FilmHasAktor = new Application_Model_DbTable_FilmHasAktor();

$FilmHasAktor->delete('');
$Film->delete('');
$Aktor->delete('');

$xml = simplexml_load_file('../data/filmy.xml');
foreach ($xml->film as $f) {
    $dane = (array) $f;
    try {
        $film_id = $Film->createRow($dane)->save();
    } catch (Zend_Db_Statement_Exception $e) {
        die($e->getMessage());
    }

    foreach ($f->aktorzy->aktor as $aktor) {

        $dane = (array)$aktor;

        try {
            $aktor_id = $Aktor->insertIfNotExists($dane);
        } catch (Zend_Db_Statement_Exception $e) {
            die($e->getMessage());
        }

        $dane = array(
            'film_id' => $film_id,
            'aktor_id' => $aktor_id
        );

        try {
            $FilmHasAktor->createRow($dane)->save();
        } catch (Zend_Db_Statement_Exception $e) {
            die($e->getMessage());
        }

    }

}

Listing 18.12. Zarys skryptu wstaw.php

Rozdział 18. Relacje n:m (wiele do wielu)

listing-18-12.txt