... | ... |
@@ -1,4 +1,5 @@ |
1 | 1 |
0.1648 |
2 |
+ add experimental DBIx::Custom::Model relation() attribute |
|
2 | 3 |
add experimental update_at(), delete_at(), select_at() |
3 | 4 |
add experimental setup_model() |
4 | 5 |
add experimental DBIx::Custom::Model columns attirbute |
... | ... |
@@ -607,7 +607,7 @@ sub select { |
607 | 607 |
push @sql, $swhere; |
608 | 608 |
|
609 | 609 |
# Relation |
610 |
- if ($relation) { |
|
610 |
+ if (!$selection && $relation) { |
|
611 | 611 |
push @sql, $swhere eq '' ? 'where' : 'and'; |
612 | 612 |
foreach my $rcolumn (keys %$relation) { |
613 | 613 |
push @sql, ("$rcolumn = " . $relation->{$rcolumn}, 'and'); |
... | ... |
@@ -13,7 +13,8 @@ push @DBIx::Custom::CARP_NOT, __PACKAGE__; |
13 | 13 |
__PACKAGE__->attr( |
14 | 14 |
['dbi', 'table'], |
15 | 15 |
columns => sub { [] }, |
16 |
- primary_key => sub { [] } |
|
16 |
+ primary_key => sub { [] }, |
|
17 |
+ relation => sub { {} } |
|
17 | 18 |
); |
18 | 19 |
|
19 | 20 |
our $AUTOLOAD; |
... | ... |
@@ -1500,3 +1500,9 @@ is($row->{key2}, 2); |
1500 | 1500 |
is($row->{key3}, 3); |
1501 | 1501 |
|
1502 | 1502 |
|
1503 |
+test 'columns'; |
|
1504 |
+use MyDBI1; |
|
1505 |
+$dbi = MyDBI1->connect($NEW_ARGS->{0}); |
|
1506 |
+$model = $dbi->model('book'); |
|
1507 |
+$model->relation({'book.id' => 'company.id'}); |
|
1508 |
+is_deeply($model->relation, {'book.id' => 'company.id'}); |