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