From 8dcdb9fb105e929bfa417893cd3eab39e1eebe4b Mon Sep 17 00:00:00 2001 From: barnold Date: Sat, 17 Sep 2022 16:20:30 +0100 Subject: [PATCH] Improve the book listing... Add order_by. Prefetch author and show author's name. Add table markup. --- lib/MyModel/Book.pm | 6 +++++- templates/book/index.html.ep | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/lib/MyModel/Book.pm b/lib/MyModel/Book.pm index cfb468f..b2bf42a 100644 --- a/lib/MyModel/Book.pm +++ b/lib/MyModel/Book.pm @@ -12,7 +12,11 @@ sub count_all ($self) { sub get_page ($self, $page_number = 1) { my $rs = $self->schema->resultset('Book')->search_rs( undef, - { page => $page_number, rows => 10 }, + { prefetch => [ "author" ], + order_by => [ "me.name " ], + page => $page_number, + rows => 10, + }, ); return $rs; } diff --git a/templates/book/index.html.ep b/templates/book/index.html.ep index 78f0bea..a104363 100644 --- a/templates/book/index.html.ep +++ b/templates/book/index.html.ep @@ -6,9 +6,17 @@ Book count is <%= $book_count %>.

+ + + + % for my $book ($book_page->all) { -<%= $book->name %>
+ + + % } +
BookAuthor
<%= $book->name %><%= $book->author->name %> +