Thanks Robert. I've attempted to extract the relevant relationship from my code, though when i use it i intend to group by and test for a not exists via matching a null row with the left join. I really need to have a left join in this relationship. It appears to be working for other has_many relationships but not under these circumstances. I wondered whether any knew of any conditions that might prevent it from working.
Best wishes Stephen On Jun 18, 2013 6:45 PM, "Robert Wohlfarth" <rbwohlfa...@gmail.com> wrote: > On Tue, Jun 18, 2013 at 11:54 AM, Stephen Shorrock < > stephen.shorr...@gmail.com> wrote: > <snip> > >> then (in Cat app) >> $c->model('MyApp::IndexStatus')->search_related('old_statuses'); >> >> produces SQL something like: >> SELECT me.myindex, me.myoldindex, me.mystatus FROM index_statuses me >> JOIN index_statuses old_statuses ON old_statuses.myindex = me.myoldindex: >> >> even adding {join_type=>'LEFT'} to the arguments of has_many does not >> produce a left join. >> > > It looks like the code asks for "all MyApp::IndexStatus with matching > old_statuses records". That translates into an INNER JOIN. > > If you're looking for "all MyApp::IndexStatus records along with any > related old_statuses records", try something like this: > foreach my $index_status ($c->model('MyApp::IndexStatus')->all) { > # Generate the HTML here with columns from $index_status... > foreach my $old_status ($index_status->old_statuses->all) { > # Generate the HTML here for any $old_status records... > } > } > > -- > Robert Wohlfarth > > _______________________________________________ > List: Catalyst@lists.scsys.co.uk > Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst > Searchable archive: > http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ > Dev site: http://dev.catalyst.perl.org/ > >
_______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/