0
こんにちは、表のユーザーに2つの外部キーを持つcategoryという名前のテーブルがあります。構造は以下のとおりです。リレーションを使ってcreated_byとmodified_byに対応するユーザー名を取得するにはどうしたらいいですか? @category = Category.find(params[:id])
は、カテゴリテーブルの詳細のみを提供しています。私の現在のモデルクラスは、ユーザモデルにRoR - モデルの関係
CREATE TABLE IF NOT EXISTS `categories` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(255) NOT NULL,
`created_by` int(11) unsigned default NULL,
`modified_by` int(11) unsigned default NULL,
`created` datetime NOT NULL,
`modified` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `created_by` (`created_by`),
UNIQUE KEY `modified_by` (`modified_by`)
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) unsigned NOT NULL auto_increment,
`username` varchar(25) NOT NULL,
`password` varchar(255) NOT NULL,
`usertype_id` int(11) unsigned NOT NULL,
`active` tinyint(1) NOT NULL,
`created` datetime NOT NULL,
`modified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `usertype_id` (`usertype_id`)
)
--
-- Constraints for table `categories`
--
ALTER TABLE `categories`
ADD CONSTRAINT `categories_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE,
ADD CONSTRAINT `categories_ibfk_2` FOREIGN KEY (`modified_by`) REFERENCES `users` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE;
は素晴らしいthatsの! 2番目の部分(コードはユーザモデルに配置する必要がありますか) –
'<%= debug(@ category.creator)%>'はパスワードを含むすべてのフィールドを表示しますが、ユーザー名フィールドのみを取得する方法はありますか? –
2番目の部分は必要ありませんが、*必要があります。両側の関係を定義するのが常にベストです。 – Swanand