| ... | ... | 
                  @@ -1,4 +1,5 @@  | 
              
| 1 | 1 | 
                  0.1648  | 
              
| 2 | 
                  + add DBIx::Custom::Model foreign_key() attribute  | 
              |
| 2 | 3 | 
                  add models() attribute  | 
              
| 3 | 4 | 
                  0.1647  | 
              
| 4 | 5 | 
                  add default_dbi_option()  | 
              
| ... | ... | 
                  @@ -1035,6 +1035,13 @@ If you want to get all models, you can get them by keys of C<models()>.  | 
              
| 1035 | 1035 | 
                   | 
              
| 1036 | 1036 | 
                       my @models = keys %{$self->models};
                 | 
              
| 1037 | 1037 | 
                   | 
              
| 1038 | 
                  +You can set primary key to model.  | 
              |
| 1039 | 
                  +  | 
              |
| 1040 | 
                  + $model->primary_key(['id', 'number_id']);  | 
              |
| 1041 | 
                  +  | 
              |
| 1042 | 
                  +Primary key is used by C<update_at()>, C<delete_at()>,  | 
              |
| 1043 | 
                  +C<select_at()>.  | 
              |
| 1044 | 
                  +  | 
              |
| 1038 | 1045 | 
                  =head2 Model Examples  | 
              
| 1039 | 1046 | 
                   | 
              
| 1040 | 1047 | 
                  Model examples  | 
              
| ... | ... | 
                  @@ -1063,6 +1063,13 @@ L<DBIx::Custom>とL<DBI>のすべてのメソッドを呼び出すこともで  | 
              
| 1063 | 1063 | 
                   | 
              
| 1064 | 1064 | 
                       my @models = keys %{$self->models};
                 | 
              
| 1065 | 1065 | 
                   | 
              
| 1066 | 
                  +モデルにはプライマリーキーを設定することもできます。  | 
              |
| 1067 | 
                  +  | 
              |
| 1068 | 
                  + $model->primary_key(['id', 'number_id']);  | 
              |
| 1069 | 
                  +  | 
              |
| 1070 | 
                  +ここで設定したプライマリーキーはC<update_at()>, C<delete_at()>,  | 
              |
| 1071 | 
                  +C<select_at()>で利用されます。  | 
              |
| 1072 | 
                  +  | 
              |
| 1066 | 1073 | 
                  =head2 モデルのサンプル  | 
              
| 1067 | 1074 | 
                   | 
              
| 1068 | 1075 | 
                  モデルのサンプルです。  | 
              
| ... | ... | 
                  @@ -10,7 +10,10 @@ use Carp 'croak';  | 
              
| 10 | 10 | 
                  # Carp trust relationship  | 
              
| 11 | 11 | 
                  push @DBIx::Custom::CARP_NOT, __PACKAGE__;  | 
              
| 12 | 12 | 
                   | 
              
| 13 | 
                  -__PACKAGE__->attr(['dbi', 'table']);  | 
              |
| 13 | 
                  +__PACKAGE__->attr(  | 
              |
| 14 | 
                  + ['dbi', 'table'],  | 
              |
| 15 | 
                  +    primary_key => sub { [] }
                 | 
              |
| 16 | 
                  +);  | 
              |
| 14 | 17 | 
                   | 
              
| 15 | 18 | 
                  our $AUTOLOAD;  | 
              
| 16 | 19 | 
                   | 
              
| ... | ... | 
                  @@ -69,7 +72,7 @@ sub DESTROY { }
                 | 
              
| 69 | 72 | 
                   | 
              
| 70 | 73 | 
                  =head1 NAME  | 
              
| 71 | 74 | 
                   | 
              
| 72 | 
                  -DBIx::Custom::Table - Table base class(experimental)  | 
              |
| 75 | 
                  +DBIx::Custom::Model - Model (experimental)  | 
              |
| 73 | 76 | 
                   | 
              
| 74 | 77 | 
                  =head1 SYNOPSIS  | 
              
| 75 | 78 | 
                   | 
              
| ... | ... | 
                  @@ -77,6 +80,30 @@ use DBIx::Custom::Table;  | 
              
| 77 | 80 | 
                   | 
              
| 78 | 81 | 
                  my $table = DBIx::Custom::Model->new(table => 'books');  | 
              
| 79 | 82 | 
                   | 
              
| 83 | 
                  +=head1 ATTRIBUTES  | 
              |
| 84 | 
                  +  | 
              |
| 85 | 
                  +=head2 C<dbi>  | 
              |
| 86 | 
                  +  | 
              |
| 87 | 
                  + my $dbi = $model->dbi;  | 
              |
| 88 | 
                  + $model = $model->dbi($dbi);  | 
              |
| 89 | 
                  +  | 
              |
| 90 | 
                  +L<DBIx::Custom> object.  | 
              |
| 91 | 
                  +  | 
              |
| 92 | 
                  +=head2 C<table>  | 
              |
| 93 | 
                  +  | 
              |
| 94 | 
                  + my $table = $model->table;  | 
              |
| 95 | 
                  +    $model    = $model->table('book');
                 | 
              |
| 96 | 
                  +  | 
              |
| 97 | 
                  +Table name.  | 
              |
| 98 | 
                  +  | 
              |
| 99 | 
                  +=head2 C<primary_key>  | 
              |
| 100 | 
                  +  | 
              |
| 101 | 
                  + my $primary_key = $model->primary_key;  | 
              |
| 102 | 
                  + $model = $model->primary_key(['id', 'number']);  | 
              |
| 103 | 
                  +  | 
              |
| 104 | 
                  +Foreign key. This is used by C<update_at()>, C<delete_at()>,  | 
              |
| 105 | 
                  +C<select_at()>.  | 
              |
| 106 | 
                  +  | 
              |
| 80 | 107 | 
                  =head1 METHODS  | 
              
| 81 | 108 | 
                   | 
              
| 82 | 109 | 
                  L<DBIx::Custom> inherits all methods from L<Object::Simple>,  | 
              
| ... | ... | 
                  @@ -1371,4 +1371,11 @@ is_deeply($model->list->fetch_hash_all, [{name => 'a'}], 'include all model');
                 | 
              
| 1371 | 1371 | 
                   $model = $dbi->model('book');
                 | 
              
| 1372 | 1372 | 
                   is_deeply($model->list->fetch_hash_all, [{name => 'a'}], 'include all model');
                 | 
              
| 1373 | 1373 | 
                   | 
              
| 1374 | 
                  +test 'primary_key';  | 
              |
| 1375 | 
                  +use MyDBI1;  | 
              |
| 1376 | 
                  +$dbi = MyDBI1->connect($NEW_ARGS->{0});
                 | 
              |
| 1377 | 
                  +$model = $dbi->model('book');
                 | 
              |
| 1378 | 
                  +$model->primary_key(['id', 'number']);  | 
              |
| 1379 | 
                  +is_deeply($model->primary_key, ['id', 'number']);  | 
              |
| 1380 | 
                  +  | 
              |
| 1374 | 1381 | 
                   |