Showing 1 changed files with 70 additions and 36 deletions
+70 -36
lib/DBIx/Custom.pm
... ...
@@ -1192,19 +1192,23 @@ If tranzation is died, rollback is execute.
1192 1192
 
1193 1193
 =head2 insert
1194 1194
 
1195
-Insert
1195
+Insert row
1196 1196
 
1197
-    $dbi->insert($table, $insert_values);
1197
+    $ret_val = $self->insert($table, \%$insert_params);
1198
+
1199
+$ret_val is maybe affected rows count
1198 1200
     
1199 1201
     # Sample
1200 1202
     $dbi->insert('books', {title => 'Perl', author => 'Taro'});
1201 1203
 
1202 1204
 =head2 update
1203 1205
 
1204
-Update
1206
+Update rows
1207
+
1208
+    $self = $self->update($table, \%update_params, \%where);
1209
+
1210
+$ret_val is maybe affected rows count
1205 1211
 
1206
-    $dbi->update($table, $update_values, $where);
1207
-    
1208 1212
     # Sample
1209 1213
     $dbi->update('books', {title => 'Perl', author => 'Taro'}, {id => 5});
1210 1214
 
... ...
@@ -1212,69 +1216,99 @@ Update
1212 1216
 
1213 1217
 Update all rows
1214 1218
 
1215
-    $dbi->update($table, $updat_values);
1219
+    $ret_val = $self->update_all($table, \%updat_params);
1220
+
1221
+$ret_val is maybe affected rows count
1222
+
1223
+    # Sample
1224
+    $dbi->update_all('books', {author => 'taro'});
1216 1225
 
1217 1226
 =head2 delete
1218 1227
 
1219
-Delete
1228
+Delete rows
1229
+
1230
+    $ret_val = $self->delete($table, \%where);
1220 1231
 
1221
-    $dbi->delete($table, $where);
1232
+$ret_val is maybe affected rows count
1222 1233
     
1223 1234
     # Sample
1224
-    $dbi->delete('Books', {id => 5});
1235
+    $dbi->delete('books', {id => 5});
1225 1236
 
1226 1237
 =head2 delete_all
1227 1238
 
1228 1239
 Delete all rows
1229 1240
 
1230
-    $dbi->delete_all($table);
1241
+    $ret_val = $self->delete_all($table);
1231 1242
 
1232
-=head2 last_insert_id
1233
-
1234
-Get last insert id
1243
+$ret_val is maybe affected rows count
1235 1244
 
1236
-    $last_insert_id = $dbi->last_insert_id;
1237
-
1238
-This method is implemented by subclass.
1245
+    # Sample
1246
+    $dib->delete_all('books');
1239 1247
 
1240 1248
 =head2 select
1241 1249
     
1242
-Select
1250
+Select rows
1243 1251
 
1244
-    $dbi->select(
1252
+    $resut = $self->select(
1245 1253
         $table,                # must be string or array;
1246
-        [@$columns],           # must be array reference. this is optional
1247
-        {%$where_params},      # must be hash reference.  this is optional
1254
+        \@$columns,            # must be array reference. this is optional
1255
+        \%$where_params,       # must be hash reference.  this is optional
1248 1256
         $append_statement,     # must be string.          this is optional
1249 1257
         $query_edit_callback   # must be code reference.  this is optional
1250 1258
     );
1259
+
1260
+$reslt is L<DBI::Custom::Result> object
1261
+
1262
+The following is some select samples
1263
+
1264
+    # select * from books;
1265
+    $result = $dbi->select('books');
1251 1266
     
1252
-    # Sample
1267
+    # select * from books where title = 'Perl';
1268
+    $result = $dbi->select('books', {title => 1});
1269
+    
1270
+    # select title, author from books where id = 1 for update;
1271
+    $result = $dbi->select(
1272
+        'books',              # table
1273
+        ['title', 'author'],  # columns
1274
+        {id => 1},            # where clause
1275
+        'for update',         # append statement
1276
+    );
1277
+
1278
+You can join multi tables
1279
+    
1280
+    $result = $dbi->select(
1281
+        ['table1', 'table2'],                # tables
1282
+        ['table1.id as table1_id', 'title'], # columns (alias is ok)
1283
+        {table1.id => 1},                    # where clase
1284
+        "where table1.id = table2.id",       # join clause (must start 'where')
1285
+    );
1286
+
1287
+You can also edit query
1288
+        
1253 1289
     $dbi->select(
1254
-        'Books',
1255
-        ['title', 'author'],
1256
-        {id => 1},
1257
-        "for update",
1290
+        'books',
1291
+        # column, where clause, append statement,
1258 1292
         sub {
1259 1293
             my $query = shift;
1260 1294
             $query->bind_filter(sub {
1261 1295
                 # ...
1262 1296
             });
1263 1297
         }
1264
-    );
1265
-    
1266
-    # The way to join multi tables
1267
-    $dbi->select(
1268
-        ['table1', 'table2'],
1269
-        ['table1.id as table1_id', 'title'],
1270
-        {table1.id => 1},
1271
-        "where table1.id = table2.id",
1272
-    );
1298
+    }
1299
+
1300
+
1301
+=head2 last_insert_id
1302
+
1303
+Get last insert id
1273 1304
 
1305
+    $last_insert_id = $dbi->last_insert_id;
1274 1306
 
1275
-=head1 CAUTION
1307
+This method is implemented by subclass.
1308
+
1309
+=head1 Caution
1276 1310
 
1277
-DBIx::Custom have DIB object internal.
1311
+DBIx::Custom have DBI object.
1278 1312
 This module is work well in the following DBI condition.
1279 1313
 
1280 1314
     1. AutoCommit is true