Okay, sounds good. Didn;t even think of using it like that so have learnt sth new.<br><br>thx.<br><br><b><i>SHAD0WRUNNER@gmx.de</i></b> wrote:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> <br>-------- Original-Nachricht --------<br>Datum: Mon, 21 May 2007 13:25:18 +0100 (BST)<br>Von: Anthony Gardner <cyclewood_ltd@yahoo.co.uk><br>An: dbix-class@lists.rawmode.org<br>Betreff: [Dbix-class] Problem retrieving data<br><br>&gt; This is probably bread 'n butter to you but ........<br>&gt; <br>&gt; I have the following table relationships .....<br>&gt; <br>&gt; groups ---&lt; categories ---&lt; subcategories ----&lt; products<br>&gt; <br>&gt; for a group, I want to retrieve all of its categories, the catgeories'<br>&gt; subcats etc.<br>&gt; <br>&gt; i have this .........<br>&gt; <br>&gt; ## switch between list and rs context<br>&gt; my $group_rs =<br>&gt; my @group =
 $schema-&gt;resultset('ProductGroup')-&gt;search( { 'me.id' =&gt; 18 },<br>&gt;                                                            { select =&gt; [<br>&gt; 'me.name', 'categories.name', 'subcategories.name', 'products.name'],<br>&gt;                                                                 as =&gt; [<br>&gt; qw|group_name category_name subcategory_name product_name|],<br>&gt;                                                                join =&gt; {<br>&gt; categories =&gt; { subcategories =&gt; 'products' }}<br>&gt;                                                            });<br>&gt; <br><br>I recommand use relations between tables:<br>my $group_rs = $schema-&gt;resultset('ProductGroup')<br>                      -&gt;search( { 'me.id' =&gt; 18})<br><br>while ($group=$rs-&gt;next){<br>  foreach my $categorie ($group-&gt;categories){<br>     foreach my $sub_categorie ($categorie-&gt;subcategories){   <br>        foreach my $product
 ($sub_categorie-&gt;products){  <br>           print $group-&gt;group_name, ...;<br>        }<br>     }<br>  }<br>}<br><br><br>If it's too slow, u can use prefetch to speed up.<br><br><br><br>&gt; ....... which I think is right but I can;t get at all the rows from the<br>&gt; returned resultset. If I return a list, it works. $group_rs-&gt;next() in a loop<br>&gt; just returns the first row.<br>&gt; <br>&gt; ## this works in ist context<br>&gt; foreach my $group ( @groups ) {<br>&gt;     my $group_name  = $group-&gt;get_column('group_name');<br>&gt;     my $cat_name    = $group-&gt;get_column('category_name');<br>&gt;     my $subcat_name = $group-&gt;get_column('subcategory_name');<br>&gt;     my $prod_name   = $group-&gt;get_column('product_name');<br>&gt;     print "$group $group_name =&gt; $cat_name =&gt; $subcat_name =&gt;<br>&gt; $prod_name\n";    <br>&gt; }<br>&gt; <br>&gt; =pod    <br>&gt;  ## this doesn't work for all rows context                               
 <br>&gt;                      <br>&gt; foreach my $group ( $group_rs-&gt;next() ) {<br>&gt;     my $group_name  = $group-&gt;get_column('group_name');<br>&gt;     my $cat_name    = $group-&gt;get_column('category_name');<br>&gt;     my $subcat_name = $group-&gt;get_column('subcategory_name');<br>&gt;     my $prod_name   = $group-&gt;get_column('product_name');<br>&gt;     print "$group $group_name =&gt; $cat_name =&gt; $subcat_name =&gt;<br>&gt; $prod_name\n";<br>&gt; }<br>&gt; =cut<br>&gt; <br>&gt; I'd like to use the rs copntext and print something like .........<br>&gt; <br>&gt; group1<br>&gt;   cat1<br>&gt;      subcat1<br>&gt;          prod1<br>&gt;           prod2<br>&gt;          prod3<br>&gt;       subcat2<br>&gt;         prod4<br>&gt;       subcat3<br>&gt;          prod5<br>&gt;   cat2<br>&gt;      subcat4<br>&gt;         ..... etc. etc.<br>&gt; <br>&gt; Any tips would be greatly/warmly appreciated.<br>&gt; <br>&gt; -Ants<br>&gt; <br>&gt;    <br>&gt;
 ---------------------------------<br>&gt;  Yahoo! Messenger - with free PC-PC calling and photo sharing.<br><br>-- <br>FastJack<br><br>GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS.<br>Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail<br><br>_______________________________________________<br>List: http://lists.rawmode.org/cgi-bin/mailman/listinfo/dbix-class<br>Wiki: http://dbix-class.shadowcatsystems.co.uk/<br>IRC: irc.perl.org#dbix-class<br>SVN: http://dev.catalyst.perl.org/repos/bast/trunk/DBIx-Class/<br>Searchable Archive: http://www.mail-archive.com/dbix-class@lists.rawmode.org/<br></cyclewood_ltd@yahoo.co.uk></blockquote><br><p>&#32;
      <hr size=1> 
Yahoo! Answers - Got a question? Someone out there knows the answer. <a
href="http://uk.answers.yahoo.com/;_ylc=X3oDMTEzaDRkZGdlBF9TAzIxMTQ3MTcxOTAEc2VjA01haWwEc2xrA3RhZ2xpbmVz">Try
it now</a>.