23376 Posts in 18218 Topics by 2867 members
|Go to End|
11 April 2012 at 11:00am
I have a load of surveys, in excel, with 2 columns, question, answer.
I'm importing this info using the CsvBulkLoader in model admin.
it imports the individual items (surveyItems) ok, but what I want to do is create a relationship with 'Surveys' and 'SurveyItems'
Two options as far as I can see:
Either a kind 'onBeforeImportCSV' function that create the Survey item, then attaches this ID to each item.
Or, like in the 'Security Area', create a group (or in this case Survey), then there is an 'import' tab on the screen.
Does anyone have any ideas for how to implement either of these two options?
12 April 2012 at 1:54am
You can create custom relationship call backs to create relations with other DataObjects. I often use it to automatically locate and add images when importing product data. SilverStripe is clever in that it will automatically create new relationship items
You will need to to populate your table with both the SurveyItem data and the SurveyData and use dot notation to to map your columns to the right table.
One caveat, if multiple Surveys have SurveyItems with the same field you're using for a duplicate check it may make more sense to import into Survey and have the bulk loader create the SurveyItem.
|Go to Top|