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.

Data Model Questions

SS 2.4 can't fetch data with 'get_one' where filter -> unknown column


Reply

5 Posts   750 Views

Avatar
BlackHawk

31 August 2012 at 3:07am Community Member, 7 Posts

Hi @ all,

I am wondering why I can not fetch data from the database with using DataObject::get_one.
I am trying something like this:

$code = 'BE_0007';
$val = DataObject::get_one('Profession', 'Profession_ID = "'.$code.'"');

I get this Error:


Couldn't run query: SELECT "Profession"."ClassName", "Profession"."Created", "Profession"."LastEdited", "Profession"."Profession_ID", "Profession"."Title", "Profession"."Description", "Profession"."ID", CASE WHEN "Profession"."ClassName" IS NOT NULL THEN "Profession"."ClassName" ELSE 'Profession' END AS "RecordClassName" FROM "Profession" WHERE (Profession_ID = "BE_0007") LIMIT 1 Unknown column 'BE_0007' in 'where clause'

When I am trying to fetch the data with DataObject::get_by_id, I don't have a problem to get it.

$id= 7;
$val = DataObject::get_by_id('Profession', $id);

Anybody out there who knows what I am doing wrong?

Thank you for your help!

Avatar
martimiz

1 September 2012 at 11:14pm Forum Moderator, 1091 Posts

The error probably results from the use of double quotes: Profession_ID = "BE_0007" marks BE_0007 as the name of a column. Try using single quotes, as in:

$val = DataObject::get_one('Profession', "Profession_ID = '$code'");

Avatar
BlackHawk

4 September 2012 at 3:56am Community Member, 7 Posts

Mmmh, thanks for your help. Unfortunately it did not help.
When I am doing this, I am getting the next error:


[User Error] Uncaught Exception: Object->__call(): the method 'fortemplate' does not exist on 'Profession'

Avatar
martimiz

4 September 2012 at 4:14am Forum Moderator, 1091 Posts

Ok, but that doesn't necessarily mean the DataObject::get function is not working. First of all - shouldn't you be filtering on ID instead of on Profession_ID? I'm finding it a bit strange the Profession object itself should have a Profession_ID field...

But anyway - based on just this snippet of the error and no further code it's hard to say what's going on...

Avatar
BlackHawk

4 September 2012 at 4:25am Community Member, 7 Posts

Hey thank's for your reply.
The reason why I have a column 'Profession_ID' is, I need to have this ID humanreadable.

Right now I was able to fix it. With your help and the hint with the quotes.

Greetz.