<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">This is a weird one.</div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif"><br></div><div class="gmail_quote"><div dir="ltr"><div style="font-family:verdana,sans-serif">Short version:</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">$userexam-&gt;user is defined as Auth::User, but seems like it gets redefined as DB::User somewhere mysteriously.</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">How can I track that down?</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Long version:</div><div style="font-family:verdana,sans-serif"><br></div><div style="font-family:verdana,sans-serif">Split database setup: DB is for the application data, Auth is for user data.</div><div style="font-family:verdana,sans-serif"><br></div><div><font face="verdana, sans-serif">The userexam table links users to the exams they take. <u>Schema/DB/Result/UserExam.pm </u>contains:</font><br></div><div><font face="verdana, sans-serif"><br></font></div><div><div><font face="monospace, monospace">__PACKAGE__-&gt;belongs_to( user =&gt; &#39;Learn::Schema::Auth::Result::<wbr>User&#39; );</font></div><div><font face="monospace, monospace">__PACKAGE__-&gt;belongs_to( exam =&gt; &#39;Learn::Schema::DB::Result::<wbr>Exam&#39; );</font></div></div><div><br></div><div><div style="font-family:verdana,sans-serif"><u>Schema/DB/ResultSet/UserExam.<wbr>pm</u> contains:</div><div style="font-family:verdana,sans-serif"><br></div><div><font face="monospace, monospace">sub take { # take the exam</font></div><div><div><font face="monospace, monospace">    my $rs      = shift; # </font><span style="font-family:monospace,monospace">Learn::Schema::DB::<wbr>ResultSet::UserExam</span><font face="monospace, monospace"> object</font></div><div><font face="monospace, monospace">    my $user    = shift; # </font><span style="font-family:monospace,monospace">Learn::Model::Auth::User</span><font face="monospace, monospace"> <wbr>object</font></div><div><font face="monospace, monospace">    my $exam    = shift; # </font><span style="font-family:monospace,monospace">Learn::Model::DB::Exam</span><font face="monospace, monospace"> <wbr>object</font></div><div><span style="font-family:monospace,monospace">...</span><br></div><div><font face="monospace, monospace"><div>    my $user_exam = $rs-&gt;create({</div><div>        user =&gt; $user,</div><div>        exam =&gt; $exam,</div><div>    });</div></font></div></div><div><font face="monospace, monospace">}</font></div><br></div><div><span style="font-family:verdana,sans-serif">The error it throws at $rs-&gt;create() is:</span><br></div><div><div style="font-family:verdana,sans-serif"><br></div><div><div><font face="monospace, monospace"><b>DBIx::Class::ResultSource::_<wbr>resolve_relationship_<wbr>condition(): </b></font></div><div><font face="monospace, monospace"><b>Objects supplied as &#39;foreign_values&#39; (Learn::Model::Auth::User=<wbr>HASH(0xe022b14)) </b></font></div><div><font face="monospace, monospace"><b>usually should inherit from the related ResultClass (&#39;Learn::Model::DB::User&#39;), </b></font></div><div><font face="monospace, monospace"><b>perhaps you&#39;ve made a mistake invoking the condition resolver? </b></font></div><font face="verdana, sans-serif"><br>In the schema file<div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​,​</div> -&gt;user is defined as Auth::User. Somehow it gets redefined along the way and Catalyst thin<div class="gmail_default" style="font-family:verdana,sans-serif;display:inline">​k</div>s it should be DB::User instead?!</font></div></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Grepping for DB.*User (and variations) in schema files brings up DB::UserExams and related info (DB::UserCourse, DB::UserRole, DB::UserAnswer) but no DB::User at all.</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">How could that get redefined? Or is this a symptom of something else? I could use a big clue stick upside the head :/</font></div><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Thanks!</font></div><span class="HOEnZb"><font color="#888888"><br></font></span></div></div>
</div>