SYNOPSIS
$fk->register_insert( $value_for_column );
$fk->register_update( $new_value_for_column );
$fk->register_delete( $row_being_deleted );
DESCRIPTION
Objects in this class maintain referential integrity. This is really only useful when your RDBMS can't do this itself (like MySQL without InnoDB).INHERITS FROM
"Alzabo::ForeignKey"Note: all relevant documentation from the superclass has been merged into this document.
METHODS
table_from
table_to
Returns the relevant "Alzabo::Runtime::Table" object.columns_from
columns_to
Returns the relevant "Alzabo::Runtime::Column" object(s) for the property as an array.cardinality
Returns a two element array containing the two portions of the cardinality of the relationship. Each portion will be either '1' or 'n'.from_is_dependent
to_is_dependent
Returns a boolean value indicating whether there is a dependency from one table to the other.is_one_to_one
is_one_to_many
is_many_to_one
Returns a boolean value indicating what kind of relationship the object represents.is_same_relationship_as ($fk)
Given a foreign key object, this returns true if the two objects represent the same relationship. However, the two objects may represent the same relationship from different table's points of view.register_insert ($new_value)
This method takes the proposed column value for a new row and makes sure that it is valid based on relationship that this object represents.Throws: "Alzabo::Exception::ReferentialIntegrity"
register_update ($new_value)
This method takes the proposed new value for a column and makes sure that it is valid based on relationship that this object represents.Throws: "Alzabo::Exception::ReferentialIntegrity"
register_delete (Alzabo::Runtime::Row object)
Allows the foreign key to delete rows dependent on the row being deleted. Note, this can lead to a chain reaction of cascading deletions. You have been warned.Throws: "Alzabo::Exception::ReferentialIntegrity"