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've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Data Model Questions /

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

default_sort using secondary table


Go to End


2 Posts   2026 Views

Avatar
Nicolaas

Forum Moderator, 224 Posts

7 February 2011 at 3:53pm

hi

I have a table called "options" and a table called "option groups". I want to sort the options by group and then by option. For the sorting, I have added the Sort field to both tables...

I would like to sort Options like this:

static $default_sort = "OptionGroup.Sort ASC, Option.Sort ASC";

I added the following function to Option:

<?php
class Option extends DataObject {
...
	static $default_sort = "OptionGroup.Sort ASC, Option.Sort ASC";
	public function extendedSQL($filter = "", $sort = "", $limit = "", $join = "", $having = ""){
		$join .= " LEFT JOIN \"OptionGroup\" ON \"OptionGroup\".\"ID\" = \"Option\".\"OptionGroupID\"";
		return parent::extendedSQL($filter, $sort, $limit, $join, $having);
	}
... 
}

However, it does not work...

Avatar
swaiba

Forum Moderator, 1899 Posts

12 February 2011 at 1:01am

does this thread help? (towards the end some is doing similar i think, sort based on join)
http://silverstripe.org/general-questions/show/5768?start=0