OSDN Git Service

* Model::Journals: select() accept "year", "month", "day" key
authorhylom <hylom@users.sourceforge.jp>
Thu, 13 Jul 2017 13:39:57 +0000 (22:39 +0900)
committerhylom <hylom@users.sourceforge.jp>
Thu, 13 Jul 2017 13:39:57 +0000 (22:39 +0900)
src/newslash_web/lib/Newslash/Model/Journals.pm
src/newslash_web/t/models/journals.t

index 012f290..41bab4e 100644 (file)
@@ -212,6 +212,7 @@ sub select {
                         uid => "journals.uid" };
 
     my ($where_clause, $where_values, $unique) = $self->build_where_clause(unique_keys => $unique_keys,
+                                                                           timestamp => 'journals.date',
                                                                            params => $params);
     my ($limit_clause, $limit_values) = $self->build_limit_clause(params => $params);
     my ($orderby_clause, $orderby_values) = $self->build_orderby_clause(keys => { date => 'journals.date' },
@@ -249,7 +250,6 @@ SELECT
   $orderby_clause
   $limit_clause
 EOSQL
-    #warn $sql;
 
     my $sth = $dbh->prepare($sql);
     $sth->execute(@attr);
index 59b069a..e34b54a 100644 (file)
@@ -55,6 +55,16 @@ subtest 'create/select/update/latest journals' => sub {
     my $dt = DateTime->now;
     my $offset = 9 * 60 * 60;
 
+    # multiple select
+    $items = $journals->select(year => $dt->year,
+                               month => $dt->month,
+                               day => $dt->day,
+                               offset_sec => $offset,
+                               order_by => { time => "DESC" }
+                              );
+    ok($items, "select multiple journals");
+    ok(@$items, "select one more journals");
+
     # count
     my $c = $journals->count(year => $dt->year,
                          month => $dt->month,