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.
I'm trying to get some random products from a DOM, however I want them to only be from currently published pages.
RIght now I have this:
public function getSpecialItems($limit)
//DataObject::get($obj, $filter, $sort, $join, $limit);
return DataObject::get("SpecialItem","SpecialHolderID != 5","RAND()","",$limit);
Because my SpecialHolder with ID 5 isn't published and I don't want the results to include it. I'd rather this be more automatic and not hard coded. Any thoughts?
You need to use a join.
"INNER JOIN `SpecialHolder` ON `SpecialHolder`ID = SpecialItem.SpecialHolderID",
It should automatically add the "_Live" suffix to SpecialHolder table, which will nullify the SpecialItem records that aren't attached to a _Live table.
Probably not the best way to do that, though.