title: Retrieving related data from Result object
body: <p>I have the following relationship on my Entry result class:</p>
  
  <pre><code>package Schema::Result::Entry;
  __PACKAGE__-&gt;has_many(
    "entry_i18ns",
    "Schema::Result::EntryI18n",
    { "foreign.entry_id" =&gt; "self.id" },
    { cascade_copy =&gt; 0, cascade_delete =&gt; 0 },
  );
  </code></pre>
  
  <p>So i want to retrieve related data from a newly created Schema::Result::Entry object:</p>
  
  <pre><code>$result = $schema-&gt;resultset('Result')-&gt;create({ entry_i18ns =&gt; { title =&gt; 'foo', language_code =&gt; 'en' } });
  </code></pre>
  
  <p>The problem is that <code>entry_i18ns</code> accessor executes extra SELECT and returns all the related EntryI18n objects, not the specific one which was created with create() call.</p>
  
  <p>As far as i can see, data i need is stored with <code>$result-&gt;{_relationship_data}{entry_i18ns}</code> array ref so i can access it whith something like</p>
  
  <pre><code>my $related_data = $result-&gt;{_relationship_data}{entry_i18ns}[0]{_column_data};
  </code></pre>
  
  <p>But how can i do it without messing up with internal DBIC private storage?</p>