| Fey-ORM documentation | Contained in the Fey-ORM distribution. |
Fey::Meta::HasMany::ViaSelect - A parent for has-one metaclasses based on a query object
version 0.43
This class implements a has-one relationship for a class, based on a provided (or deduced) query object.
This class accepts the following constructor options:
An object which does the Fey::Role::SQL::ReturnsData role. This query defines the relationship between the tables.
An optional subroutine reference which will be called when the SQL is executed. It is called as a method on the object of this object's associated class.
This defaults to true.
Besides the methods inherited from Fey::Meta::HasMany, it also provides the following methods:
Corresponds to the value passed to the constructor.
Corresponds to the value passed to the constructor.
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2011 by Dave Rolsky.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Fey-ORM documentation | Contained in the Fey-ORM distribution. |
package Fey::Meta::HasMany::ViaSelect; BEGIN { $Fey::Meta::HasMany::ViaSelect::VERSION = '0.43'; } use strict; use warnings; use namespace::autoclean; use Fey::ORM::Types qw( CodeRef ); use Moose; use MooseX::StrictConstructor; with 'Fey::Meta::Role::Relationship::HasMany'; has 'select' => ( is => 'ro', does => 'Fey::Role::SQL::ReturnsData', required => 1, ); has 'bind_params' => ( is => 'ro', isa => CodeRef, ); sub _make_iterator_maker { my $self = shift; return $self->_make_subref_for_sql( $self->select(), $self->bind_params(), ); } __PACKAGE__->meta()->make_immutable(); 1; # ABSTRACT: A parent for has-one metaclasses based on a query object
__END__