This recipe shows how to set up more than one association from one model to the same model, a need that normally arises on most applications.
To go through this recipe we need some sample tables to work with.
1. Create a table named
addresses
, using the following SQL statement:CREATE TABLE `addresses`( `id` INT UNSIGNED AUTO_INCREMENT NOT NULL, `address` TEXT NOT NULL, `city` VARCHAR(255) default NULL, `state` VARCHAR(255) NOT NULL, `zip` VARCHAR(10) NOT NULL, `country` CHAR(3) NOT NULL, PRIMARY KEY(`id`) );
2. Create a table named
users
, using the following SQL statement:CREATE TABLE `users`( `id` INT UNSIGNED AUTO_INCREMENT NOT NULL, `billing_address_id` INT UNSIGNED default NULL, `home_address_id` INT UNSIGNED default NULL, `name` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, PRIMARY KEY(`id`), KEY `billing_address_id`(`billing_address_id`), KEY `home_address_id`(`home_address_id`), CONSTRAINT `addresses__billing_address_id...