I am a DBIC beginner, but here&#39;s what I have learned: Your table classes should subclass DBIx::Class::Core (not DBIx::Class). And if you have methods that need to be called from a ResultSet class, then you should add also create Schema classes that subclass ResultSet.<br>

<br><div class="gmail_quote">On Wed, Aug 11, 2010 at 12:23 PM, Marc Perez <span dir="ltr">&lt;<a href="mailto:markkus.80@gmail.com">markkus.80@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi,<br>
My name is Marc, I&#39;m not use to write to the list but I have a problem<br>
which I dont know exactly how to solve.<br>
I have this two models:<br>
<br>
FIRST:<br>
package cmsDB::Files;<br>
use strict;<br>
use warnings;<br>
use base &#39;DBIx::Class&#39;;<br>
__PACKAGE__-&gt;load_components(&quot;Core&quot;);<br>
__PACKAGE__-&gt;table(&quot;files&quot;);<br>
__PACKAGE__-&gt;add_columns(<br>
  &quot;file_id&quot;,<br>
  { data_type =&gt; &quot;INT&quot;, default_value =&gt; undef, is_nullable =&gt; 0, size =&gt; 10 },<br>
......<br>
__PACKAGE__-&gt;has_many(<br>
  &quot;fieldfiles&quot;,<br>
  &quot;cmsDB::Fieldfiles&quot;,<br>
  { &quot;foreign.file_id&quot; =&gt; &quot;self.file_id&quot; },<br>
);<br>
<br>
SECOND:<br>
package cmsDB::Fieldfiles;<br>
use strict;<br>
use warnings;<br>
use base &#39;DBIx::Class&#39;;<br>
__PACKAGE__-&gt;load_components(&quot;Core&quot;);<br>
__PACKAGE__-&gt;table(&quot;fieldfiles&quot;);<br>
__PACKAGE__-&gt;add_columns(<br>
  &quot;file_id&quot;,<br>
  { data_type =&gt; &quot;INT&quot;, default_value =&gt; undef, is_nullable =&gt; 0, size =&gt; 10 },<br>
  &quot;language_id&quot;,<br>
  { data_type =&gt; &quot;INT&quot;, default_value =&gt; undef, is_nullable =&gt; 0, size =&gt; 10 },<br>
  &quot;name&quot;,<br>
  {<br>
    data_type =&gt; &quot;VARBINARY&quot;,<br>
    default_value =&gt; undef,<br>
    is_nullable =&gt; 1,<br>
    size =&gt; 250,<br>
  },<br>
........<br>
__PACKAGE__-&gt;set_primary_key(&quot;file_id&quot;, &quot;language_id&quot;);<br>
__PACKAGE__-&gt;belongs_to(&quot;file_id&quot;, &quot;cmsDB::Files&quot;, { file_id =&gt; &quot;file_id&quot; });<br>
__PACKAGE__-&gt;belongs_to(<br>
  &quot;language_id&quot;,<br>
  &quot;cmsDB::Languages&quot;,<br>
  { language_id =&gt; &quot;language_id&quot; },<br>
);<br>
<br>
<br>
I&#39;m doing the next query:<br>
my $files = $catVar-&gt;model(&#39;cmsDB::Files&#39;)-&gt;search(<br>
                        {<br>
                                &#39;me.cmsobj_id&#39; =&gt; $this-&gt;cmsobj_id,<br>
                                -or =&gt; [mime_type =&gt; &#39;image/jpeg&#39;,mime_type =&gt;<br>
&#39;image/gif&#39;,mime_type =&gt; &#39;image/png&#39;],<br>
                                &#39;fieldfiles.language_id&#39; =&gt; $langId<br>
                        },<br>
                        {<br>
                join =&gt; &#39;fieldfiles&#39;,<br>
                prefetch =&gt; &#39;fieldfiles&#39;<br>
                        }<br>
                );<br>
<br>
When I try to access the fieldfiles data:<br>
<br>
while( my $file = $files-&gt;next() ) {<br>
print($file-&gt;fieldfiles-&gt;name)<br>
}<br>
<br>
I get the error:<br>
Can&#39;t locate object method &quot;name&quot; via package &quot;DBIx::Class::ResultSet&quot;<br>
<br>
If I dump $file-&gt;fieldfiles:<br>
<br>
$Data::Dumper::Indent = 3;<br>
$Data::Dumper::Maxdepth = 3;<br>
Dumper($file-&gt;fieldfiles-&gt;name)<br>
<br>
I get this:<br>
<br>
$VAR1 = bless( { &#39;_source_handle&#39; =&gt; bless( { &#39;source_moniker&#39; =&gt;<br>
&#39;Fieldfiles&#39;, &#39;schema&#39; =&gt; bless( { &#39;class_mappings&#39; =&gt;<br>
&#39;HASH(0xa521c78)&#39;, &#39;source_registrations&#39; =&gt; &#39;HASH(0xa5220c8)&#39;,<br>
&#39;storage&#39; =&gt; &#39;DBIx::Class::Storage::DBI::mysql=HASH(0xa52e4b8)&#39; },<br>
&#39;cmsDB&#39; ) }, &#39;DBIx::Class::ResultSourceHandle&#39; ), &#39;_in_storage&#39; =&gt; 1,<br>
&#39;_column_data&#39; =&gt; { &#39;link&#39; =&gt; &#39;&#39;, &#39;language_id&#39; =&gt; &#39;1&#39;, &#39;name&#39; =&gt;<br>
&#39;Jamón y Queso - Botiga&#39;, &#39;file_id&#39; =&gt; &#39;5&#39;, &#39;description&#39; =&gt; &#39;&#39; } },<br>
&#39;cms::Model::cmsDB::Fieldfiles&#39; );<br>
<br>
<br>
Maybe Im doing something wrong...<br>
I would really appreciate any help.<br>
<br>
Thanks<br>
<br>
Marc Pérez<br>
<br>
_______________________________________________<br>
List: <a href="mailto:Catalyst@lists.scsys.co.uk">Catalyst@lists.scsys.co.uk</a><br>
Listinfo: <a href="http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst" target="_blank">http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst</a><br>
Searchable archive: <a href="http://www.mail-archive.com/catalyst@lists.scsys.co.uk/" target="_blank">http://www.mail-archive.com/catalyst@lists.scsys.co.uk/</a><br>
Dev site: <a href="http://dev.catalyst.perl.org/" target="_blank">http://dev.catalyst.perl.org/</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Bikewise: <a href="http://www.bikewise.org">http://www.bikewise.org</a><br><br>