From d89b086b7ab851a84303b94625b42d47fb68aa93 Mon Sep 17 00:00:00 2001 From: Chuck Hagenbuch Date: Mon, 31 May 2010 15:45:06 -0400 Subject: [PATCH] Shorthand for adding foreign key references to a table Credit to http://github.com/maintainable/framework/commit/1b2f572c510ebfac71e9681ed9e453e7e86f2314 --- .../lib/Horde/Db/Adapter/Base/TableDefinition.php | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/framework/Db/lib/Horde/Db/Adapter/Base/TableDefinition.php b/framework/Db/lib/Horde/Db/Adapter/Base/TableDefinition.php index 4f26e453d..ea2b918a4 100644 --- a/framework/Db/lib/Horde/Db/Adapter/Base/TableDefinition.php +++ b/framework/Db/lib/Horde/Db/Adapter/Base/TableDefinition.php @@ -149,6 +149,31 @@ class Horde_Db_Adapter_Base_TableDefinition implements ArrayAccess, IteratorAggr } /** + * Add one or several references to foreign keys + * + * This method returns self. + */ + public function belongsTo($columns) + { + if (!is_array($columns)) { $columns = array($columns); } + foreach ($columns as $col) { + $this->column($col . '_id', 'integer'); + } + + return $this; + } + + /** + * Alias for the belongsTo() method + * + * This method returns self. + */ + public function references($columns) + { + return $this->belongsTo($columns); + } + + /** * Use __call to provide shorthand column creation ($this->integer(), etc.) */ public function __call($method, $arguments) -- 2.11.0