All pastes #938385 Raw Edit

Mine

public text v1 · immutable
·published 2008-03-11 16:39 UTC
rendered paste body
class User extends Doctrine_Record {
	public function setTableDefinition(){
		$this->setTableName('users');
		
		$this->hasColumn('id', 'integer', 4, array('notnull' => true,
                                                   'primary' => true,
                                                   'unsigned' => true,
                                                   'autoincrement' => true));
		$this->hasColumn('name', 'string', 255);
    }
    
    public function setUp() {
        $this->hasMany('PhoneNumber as numbers', array('local' => 'user_id',
                                                        'foreign' => 'phonenumber_id',
                                                        'refClass' => 'Ref_UserPhoneNumbers'));
    }
}

class Ref_UserPhoneNumbers extends Doctrine_Record {
	public function setTableDefinition(){
		$this->setTableName('ref_user_phonenumbers');
		
		$this->hasColumn('user_id', 'integer', null, array('primary' => true));
        $this->hasColumn('phonenumber_id', 'integer', null, array('primary' => true));
    }
}

class PhoneNumber extends Doctrine_Record {
	public function setTableDefinition(){
		$this->setTableName('phonenumbers');
		
		$this->hasColumn('id', 'integer', 4, array('notnull' => true,
                                                   'primary' => true,
                                                   'unsigned' => true,
                                                   'autoincrement' => true));
		$this->hasColumn('number', 'string', 255);
    }
    
    public function setUp() {
        $this->hasOne('User as user', array('local' => 'phonenumber_id',
                                                        'foreign' => 'user_id',
                                                        'refClass' => 'Ref_UserPhoneNumbers'));
    }
}


$user = new User();
$user->name = 'me';
$user->numbers[0]->number = '555';
$user->save();

$q = new Doctrine_Query();

$pn = $q->from('PhoneNumber')->execute();

echo $pn[0]->user[0]->name;