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.

We're retiring the forums!

The SilverStripe forums have passed their heyday. They'll stick around, but will be read only. We'd encourage you to get involved in the community via the following channels instead:

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

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

CsvBulkLoader question

Go to End

2 Posts   1235 Views


Community Member, 244 Posts

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?


Community Member, 545 Posts

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.