17487 Posts in 4473 Topics by 1978 members
|Go to End|
10 August 2008 at 5:44pm
Been bashing my head against this and other problems in SS for a while now, thought i'd ask the wider community.
In the linked code, (unnecessary .. i think.. bits excluded), the dropdown box gets the list of offices just fine, but it won't update when I click save. It says it all saves ok, but when i navigate away and back again, nothing has changed. What am I missing?
Investigating the generated code it seems like the <input> tags are fine. I'm stumped.
Core Development Team
10 August 2008 at 6:16pm Last edited: 10 August 2008 6:19pm
Your DropdownField should have 'myOfficeID' instead of 'myOffice', because that's whats generated at the database level
Also, I should mention that it's common practice to use UpperCamelCase for field names - so it would be something like MyOffice => Office in your $has_one array, and new DropdownField("MyOfficeID").
10 August 2008 at 6:20pm Last edited: 10 August 2008 8:33pm
try change the DB field you point the drop down to from the has_one name to the actual field in the database eg change the new DropdownField() bit to
and see if that saves the data.
EDIT: matt pretty much posted the same thing just before me.
10 August 2008 at 6:40pm
Thanks very much people,
Works a treat. Here's hoping that little gem of info will trickle down to the rest of my troubles.
10 August 2008 at 8:21pm Last edited: 10 August 2008 8:22pm
Even better, you can use TypeDropdown instead of DropdownField. This means you won't have to do a DataObject::get('Office') to return all the instances of the Office class, then transform that into an array map for the DropdownField source.
new TypeDropdown('MyOfficeID', 'Office', 'Office');
|Go to Top|