rendered paste bodyclass 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;