NAME¶
Alzabo::Runtime::ForeignKey - Foreign key objects
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"
Returns a string uniquely identifying the foreign key.
Returns the comment associated with the foreign key object, if any.
AUTHOR¶
Dave Rolsky, <autarch@urth.org>