All pastes #206985 Raw Edit

Someone

public php v1 · immutable
#206985 ·published 2006-10-17 18:26 UTC
rendered paste body
<?phpdefine('SF_ROOT_DIR',      realpath(dirname(__file__).'/..'));define('SF_APP',           'frontend');define('SF_ENVIRONMENT',   'dev');define('SF_DEBUG',          true);require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');// initialize database managersfContext::getInstance(); // $databaseManager = new sfDatabaseManager();// $databaseManager->initialize();$conn = sfDoctrine::connection();$package = new Package();$packageverison = new PackageVersion();$packageverison->name = 'My Package';$package->Version[] = $packageverison;$extra = $conn->getTable('Extra')->find(1);$package_extra = new PackageVersionExtraLink();$package_extra->extra_id = $extra->id;$package_extra->description = 'This is a test';var_dump($package_extra->toArray());die();$package->Version[0]->ExtraLink[] = $package_extra;$package->save();-------------# cat lib/model/Package.php<?php  class Package extends Doctrine_Record  {    public function setTableDefinition()    {      $this->hasColumn('created_at', 'integer');      $this->hasColumn('meta_description', 'string', 255);      $this->hasColumn('has_published', 'boolean');      $this->hasColumn('has_draft', 'boolean');    }    public function setUp()    {      $this->setAttribute(Doctrine::ATTR_LISTENER, new Listener_CreateTime());      $this->ownsMany('PackageVersion as Version', 'PackageVersion.package_id');    }  }-----------------# cat lib/model/PackageVersion.php<?php  class PackageVersion extends BaseVersion  {    public function setTableDefinition()    {      $this->hasColumn('package_id', 'integer');      $this->hascolumn('current_state', 'enum', 11,  array('default' => 'Draft'));      $this->setEnumValues('current_state', array(10 => 'Published', 20 => 'Approved', 30 => 'Committed', 40 => 'Draft', 50 => 'Deleted'));      $this->hasColumn('created_at', 'integer');      $this->hasColumn('updated_at', 'integer');      $this->hasColumn('name', 'string', 255);    }    public function setUp()    {      $chain = new Doctrine_EventListener_Chain();      $chain->add(new Listener_CreateUpdateTime());      $this->setAttribute(Doctrine::ATTR_LISTENER, $chain);      $this->hasOne('Package', 'PackageVersion.package_id');      $this->hasMany('PackageVersionExtraLink as ExtraLink', 'PackageVersionExtraLink.package_version_id');    }  }--------------------- # cat lib/model/PackageVersionExtraLink.php<?php  class PackageVersionExtraLink extends Doctrine_Record  {    public function setTableDefinition()    {      $this->hasColumn('extra_id', 'integer');      $this->hasColumn('package_version_id', 'integer');      $this->hasColumn('description', 'string', 255);    }    public function setUp() {      $this->hasOne('Extra', 'PackageVersionExtraLink.extra_id');      $this->hasOne('PackageVersion', 'PackageVersionExtraLink.package_version_id');    }  }