Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

Error: 'ParentID' appears twice

Go to End


Shane Garelja

Community Member, 18 Posts

16 May 2008 at 11:31am

Edited: 16/05/2008 12:03pm


I'm trying to create a new dataobject called Category. You can have categories and sub-categories so I'm trying to code it so that a Category object can have another Category object as it's parent (has_one) or it can have multiple "Category" objects (has_many).

I thought this would be quite simple but I can't work out how to get around this error (see title of post). This is what I have so far:

class Category extends DataObject { 
	static $db = array(
		'Name' => 'Text',		
		"Type" => "Enum('Business, Event, Community', 'Business')"		
	static $default_sort = "Name";

  static $has_one = array(	
    'Parent' => 'Category'
	static $has_many = array(
		'Children' => 'Category'
	function getCMSFields_forPopup() {
		$fields = new FieldSet();
		$fields->push( new TextField( 'Name' ) );		
		$fields->push( new DropdownField("ParentID", "Parent Category", array()));		
		$fields->push( new DropdownField("Type", "Type", 
				'Business' => 'Business',
				'Event' => 'Event',
				'Community' => 'Community'
		return $fields;

I can see that it's not happy with the field I'm trying to create where you select the parent Category (or leave empty if it's a top-level category). How do I do this?? Are there any examples I can look at in one of the modules? I looked at the Post object in the Forum module but it's slightly different.