Andreas Pronakis ha scritto:
I will have to apologise for being 'hasty'.

The SQL is fine (the 'me' is actually there, I was just assuming it was part of 
the {bin} params because it was appearing on the next line with :$value in 
DBIC_TRACE), so that's fine.

However, the error remains, where I get an empty arrayref as the result even 
though the database has values for the SQL.

Further investigation revealed that:
1. I can only get a custom SQL to work only if I do not use the PRIMARY_KEY as 
part of the WHERE clause.  I haven't fully investigated this, but if I change 
the WHERE to any other column, I get back a ResultSet.

2. Following on thr last sentence from point 1 - I do not need to call the 
custom ResultSet within an arrayref i.e.
$story_obj = $schema->resultset('FindStory')->search({}, { bind => [$value]});

is working fine (returns a ResultSet) - notice the missing [...] around the 
call.  Is this something that was changed resentrly but not updated in the 
Cookbook docs or something else?



From my experience, search() reacts to the calling context as follows:

if you call search() within a listref, i.e. between brackets, then it's executed in list context, therefore it doesn't return a resultset, it returns an array containing all the objects (rows) produced by the sql query.

If you call search() in scalar context, instead, it returns a ResultSet from which you can obtain the same objects one by one via next() or all at once by calling ->all() in list context ( my @objects = $rs->all() ).

HTH

--
Marcello Romani
Responsabile IT
Ottotecnica s.r.l.
http://www.ottotecnica.com

_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[EMAIL PROTECTED]

Reply via email to