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.


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

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

Querying multiple pages from ids in one db field


4 Posts   1089 Views


12 November 2008 at 6:54am (Last edited: 12 November 2008 6:55am), Community Member, 95 Posts

hi everyone,
I have a 2x2 mysql table called 'Market' that contains an 'ID' column that maps to a Market's 'ID' in the SiteTree, and a 'MarketProducts' column that maps to ProductPage 'ID's in the SiteTree. here is what the table would look like:

ID | MarketProducts
24 | 25,26,28,29
27 | 25,29

on each Market's Page (who's id is contained in the first column, 'ID'), i want to display a Title and link to the ProductPages that are contained in the MarketProducts column. I am currently writing the controller for the class file, but am having problems with the DataObject::get method. here is what i have so far:

   function Markets(){
      $MP = DataObject::get("ProductPage", "ID = $this->MarketProducts");
      return $MP;

the MarketProducts datatype is Varchar, and contains multiple IDs, comma separated. not sure if that is messing me up, but i know the syntax is wrong because the whole front end breaks on the Market pages.

sorry if this is a little confusing. I would appreciate any help anyone is willing to offer.
Thaks again,


13 November 2008 at 4:22am Community Member, 95 Posts

just curious if anyone has any ideas on this. I would really appreciate some suggestions.



13 November 2008 at 5:20am Community Member, 787 Posts

Hi Chris...

So if I understand correctly , you need a one to many relationship between markets and products , right ?

SS can do this for you out of the box ...

Have a look at the following tutorial :

Keep us posted on your progress !


14 November 2008 at 7:04am Community Member, 95 Posts

that was exactly what i needed. thank you very much for your help.