NAME
DBIx::Class::Valiant::Result - Base component to add Valiant functionality
SYNOPSIS
package Example::Schema::Result::Person;
use base 'DBIx::Class::Core';
__PACKAGE__->load_components('Valiant::Result');
Or just add to your base Result class
package Example::Schema::Result;
use strict;
use warnings;
use base 'DBIx::Class::Core';
__PACKAGE__->load_components('Valiant::Result');
DESCRIPTION
CONTEXTS
When doing an insert / create on a result, we automatically add a 'create' context which you can use to limit validations to create events. Additionally for an update we add an 'update' context.
CLASS METHODS
This component adds the following class or package methods to your result classes. Please note this is only class methods added by this package, it does not cover those which are aggregated from the Valiant::Validates role.
auto_validation (Boolean)
Defaults to true. When true Valiant will first perform a validation on the existing result object (and any related objects nested under it which have been loaded from the DB or created) and if there are validation errors will skip persisting the data to the database. You can use this to disable this behavior globally. Please not there are features to enable skipping auto validation on a per result/set basis as well.
accept_nested_for (field => \%options)
Allows you to update / create related objected which are nested under the parent (via has_one, might_have or has_many defined relationships).
METHODS
This component adds the following object methods. Please note this is only class methods added by this package, it does not cover those which are aggregated from the Valiant::Validates role.
is_marked_for_deletion
Will be true if the result has been marked for deletion. You might see this in a related result nested under a parent when an update calls for the record to be deleted but validation errors prevented the deletion from occuring.
build
build_related
build_related_if_empty
AUTHOR
John Napiorkowski email:jjnapiork@cpan.org
SEE ALSO
COPYRIGHT & LICENSE
Copyright 2020, John Napiorkowski email:jjnapiork@cpan.org
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.