<br><br><div class="gmail_quote">On Thu, Nov 19, 2009 at 4:45 AM,  <span dir="ltr">&lt;<a href="mailto:arnim.rupp@lhsystems.com">arnim.rupp@lhsystems.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div class="im">&gt; I don&#39;t think you&#39;ve really understood how object-relational mappers<br>
&gt; work.<br>
<br>
</div>i would say it&#39;s more a question if there can be just one database-table<br>
in one class. as soon as I use set_sql to select from 2+ tables that&#39;s<br>
not the case anyway.<br></blockquote><div><br>Yes, one class is one &quot;table&quot;, but there&#39;s lots of options.<br><br>You could define a view in your database and then create a class for the view just like any other table.  Probably won&#39;t be able to update w/o more database help.<br>

<br>You can create very complex queries with set_sql, and use TEMP columns as pointed out.  IIRC, you don&#39;t even need TEMP column if you pass the object to something like Template Toolkit (which I hope you are) because it can treat it like a hash.  That should drive OO purest nuts.<br>

<br>If you don&#39;t care about relationships and just want to display the result you can use set_sql and then get an $sth with $object-&gt;sql_&lt;name used in se_sql&gt; and then use standard DBI and return whatever data structure you want.  I do that all the time for complex pages that need to be optimized for speed.<br>

<br>If you need all the relationships you can use the above to fetch $sth and normal DBI and then construct your objects however you wish (Yes, I&#39;ve done this).<br><br>Finally, there&#39;s Class::DBI::Sweet where you can specify prefetch similar to DBIx::Class that wlll do the joins for your and build the objects.  This is useful if your custom SQL is really there just for the join.  Class::DBI::Sweet adds a lot of useful features somewhat similar to DBIx::Class but with CDBI you still have lazy column loading and things like $cd-&gt;artist-&gt;id won&#39;t trigger a separate database query.<br>

<br><br></div></div><br>-- <br>Bill Moseley<br><a href="mailto:moseley@hank.org">moseley@hank.org</a><br>