...
$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)