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]