/** * Override bind() to check for an 'export' key in the hasOne/hasMany * options. If set to FALSE, Doctrine will not set a foreign key for that * relationship. For example: * * $this->hasOne('Foo as Foobar', array( * 'local' => 'bar_foo_id', * 'foreign' => 'foo_id', * 'export' => false, * ); * * NOTE: because Doctrine_Table->bind() doesn't return the results of the * Parser->bind(), we need to bypass the parent class method entirely. * * @param array $args * @param integer $type */ public function bind($args, $type) { $options = !isset($args[1]) ? array() : $args[1]; $options['type'] = $type; $rel = $this->_parser->bind($args[0], $options); if (isset($rel['export']) && $rel['export'] === false) { $this->no_export[] = $rel['alias']; } parent::bind($args, $type); }