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.

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

Retreiving an object whose category is the same as the page title


Go to End


3 Posts   988 Views

Avatar
mschiefmaker

Community Member, 187 Posts

12 September 2009 at 11:34am

Hi

I am trying to retrieve an object that has a category the same as the page title. I am using the code

$MFoptions = DataObject::get_one("MFCategory", 'MFTitle='.$this->title);

but this errors with the message [User Error] Couldn't run query: SELECT `MFCategory`.*, `MFCategory`.ID, if(`MFCategory`.ClassName,`MFCategory`.ClassName,'MFCategory') AS RecordClassName FROM `MFCategory` WHERE (MFTitle=counselling) LIMIT 1 Unknown column 'counselling' in 'where clause'

So I get it is looking for a column called counselling cause it is not in '' but when I put it in '' ie $MFoptions = DataObject::get_one("MFCategory", 'MFTitle='.'$this->title');

it interprets the $this->title as a literal string. Please help, I know this must be simple to fix but I just can't work it out.

Thanks as always

MM

Avatar
bummzack

Community Member, 904 Posts

12 September 2009 at 9:48pm

You're close to the solution. The Title has to be wrapped in quotes for MySQL, but you're doing it wrong. Should be:

$MFoptions = DataObject::get_one("MFCategory", "MFTitle='" . $this->title . "'"); 

Or maybe better to read:

$title = $this->title;
$MFoptions = DataObject::get_one("MFCategory", "MFTitle='$title'"); 

Avatar
mschiefmaker

Community Member, 187 Posts

13 September 2009 at 11:28am

Hi Banal

Thanks for this. I knew it must be something along these lines but the combinations I had tried just didn't work

Cheers

MM