private static $many_many_extraFields = array('SponsoredTeams' => array('SponsorFee' => 'Int')); } class DataObjectTest_SubEquipmentCompany extends DataObjectTest_EquipmentCompany implements TestOnly { private static $db = array('SubclassDatabaseField' => 'Varchar'); } class DataObjectTest_Staff extends DataObject implements TestOnly { private static $has_one = array('CurrentCompany' => 'DataObjectTest_Company', 'PreviousCompany' => 'DataObjectTest_Company'); } class DataObjectTest_CEO extends DataObjectTest_Staff { private static $belongs_to = array('Company' => 'DataObjectTest_Company.CEO', 'PreviousCompany' => 'DataObjectTest_Company.PreviousCEO', 'CompanyOwned' => 'DataObjectTest_Company.Owner'); } class DataObjectTest_TeamComment extends DataObject implements TestOnly { private static $db = array('Name' => 'Varchar', 'Comment' => 'Text'); private static $has_one = array('Team' => 'DataObjectTest_Team'); private static $default_sort = '"Name" ASC'; } class DataObjectTest_Fan extends DataObject implements TestOnly { private static $db = array('Name' => 'Varchar(255)', 'Email' => 'Varchar'); private static $has_one = array('Favourite' => 'DataObject', 'SecondFavourite' => 'DataObject'); } class DataObjectTest_ExtendedTeamComment extends DataObjectTest_TeamComment { private static $db = array('Comment' => 'HTMLText'); } DataObjectTest_Team::add_extension('DataObjectTest_Team_Extension');