Hi!
I've a test DB with two items:
gene_id= 1, gene_name= lanosterol demethylase
gene_id = 2, gene_name= lanosterol demethylase
(there are other columns where the two genes differ)
mysql> select gene_name FROM genes;
+------------------------+
| gene_name |
+------------------------+
| lanosterol demethylase |
| lanosterol demethylase |
+------------------------+
2 rows in set (0.00 sec)
mysql> select gene_id FROM genes WHERE gene_name='lanosterol demethylase';
+---------+
| gene_id |
+---------+
| 1 |
| 2 |
+---------+
2 rows in set (0.00 sec)
Now, in my catalyst controller I have this:
my $model = $context->model('DB::Genes');
if ($context->request->param('gene_name')) {
my $name = $context->req->param('gene_name');
my $geners = $model->search({ gene_name => $name } );
$context->stash->{geners} = $geners;
$context->stash->{template} = "genes.tt";
}
and in my genes template:
[% FOREACH obj IN geners.next() %]
[% obj.gene_id %]
[% obj.gene_name %]
[% obj.gene_length %]
et cetera
[% END %]
However I only get the gene with id=1 listed in the web
page (the same is true if I iterate over the resultset in
the controller and print log info using $context->log->info)
A 'search_literal' didn't work either (only gets gene_id 1)
my $gene_rs = $model->search_literal('gene_name = ?', "$name");
Wasn't 'search' supposed to be different from 'find'?
What am I doing wrong?
Fernan
DBIx-Class-0.06003
DBIx-Class-Loader-0.21
DBIx-Class-Schema-Loader-0.02007
DBI-1.50
DBD-mysql50-3.0003
Catalyst-5.6902
Catalyst-Model-DBIC-0.14
_______________________________________________
List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class
Wiki: http://dbix-class.shadowcatsystems.co.uk/
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/
Searchable Archive: http://www.mail-archive.com/[email protected]/