[Dbix-class] has_many but no left join?!
Peter Rabbitson
rabbit+dbic at rabbit.us
Wed Jun 19 09:33:30 GMT 2013
On Tue, Jun 18, 2013 at 07:06:30PM +0100, Stephen Shorrock wrote:
> 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:
Why would it produce anything *other* than inner join? You are
essentially asking: "Give me all old_statuses, which have a related
IndexStatus". If DBIC were to leave the LEFT JOIN in place, then the
result from the database will contain the "right side holes" which will
map to the old_statuses resultset... how? ;)
It will help you a lot if you start looking at resultset chaining as a
"set operation" as opposed to a "sql generator"
Cheers
More information about the DBIx-Class
mailing list