[Koha-devel] Koha and DBIC
David Cook
dcook at prosentient.com.au
Wed Sep 10 08:26:38 CEST 2014
Hi Kyle:
Could you speak more to what a ResultSet method would be? From what I’ve seen Koha::Schema::* just has Results in it. Would we need to define custom ResultSets as well to get this kind of functionality?
Overall, this sounds good to me. It would be nice to put more of the “database” code into one place, and have more of the “logic” or processing elsewhere. Like you say, more readable, testable, efficient.
David Cook
Systems Librarian
Prosentient Systems
72/330 Wattle St, Ultimo, NSW 2007
From: koha-devel-bounces at lists.koha-community.org [mailto:koha-devel-bounces at lists.koha-community.org] On Behalf Of Kyle Hall
Sent: Wednesday, 10 September 2014 3:22 AM
To: Koha Devel
Subject: [Koha-devel] Koha and DBIC
As discussed in #koha, I think we are not using DBIC as well as we could. Right now we are only using it to replace hand written SQL queries. I would propose the following:
1) Allow find and simple searches in pl.
2) If a search is used more than once, it should be a ResultSet method
3) If a subroutine operates on a single table row, it should be a Result method
4) If a subroutine operates on a single table, it should be a ResultSet method
5) Any operation that works on tables linked by key constraints should take advantage of those DBIC relationships and also
In this way we can do things like:
$borrower->is_debarred
or
$borrower->has_overdues
or
@borrowers = $borrower->guarantees()
Any search can be a method in the ResultSet such as
$borrower->issue()->overdue_issues();
or
my @records_with_holds = $schema->resultset('Biblio')->with_holds()
I think in the long run this will make or code far more readable, testable, and efficient.
What do you think?
Kyle
http://www.kylehall.info
ByWater Solutions ( http://bywatersolutions.com )
Meadville Public Library ( http://www.meadvillelibrary.org )
Crawford County Federated Library System ( http://www.ccfls.org )
Mill Run Technology Solutions ( http://millruntech.com )
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20140910/7b7d6f8e/attachment.html>
More information about the Koha-devel
mailing list