私はテーブルemail_addressesとテーブルユーザーを持っています。ユーザー名としてユーザーの電子メールアドレスを使用しています。 email_address_idフィールドだけで、ログイン情報としてユーザ名のためにEMAIL_ADDRESSESテーブルに電子メールを見つけるだろうメールはユーザーに属します - ユーザー名として電子メールを使用するCakephp 2.0.5
email_address_id
password
:だからusersテーブルは次のようなものになるだろう。
私はusernameフィールドをauthコンポーネントのemail_addressのような別の名前に変更できますが、別のテーブルのフィールドをユーザー名として使用するにはどうすればよいですか?
今私は電子メールのテーブルと本当に悪いデータベースデザインのように思えるユーザーテーブルに電子メールを挿入する必要があります。
助けていただけたら幸いです!私は
私は同意します..あなたの関係について何か怪しいものもあります。 [この図](http://mboffin.com/stuff/ruby-on-rails-data-relationships.png)を見ると、外部キー*を持つテーブルは*他のテーブルに属します。 「電子メールがユーザーに属している」と言うと、「ユーザーは電子メールに所属しています」という意味です。これは、本質的には、「電子メールに多数のユーザがいる」または「電子メールにhasOneユーザがいる」ということを意味します。ある電子メールアドレスを多くのユーザーアカウントに関連付けることを実際に計画していますか?また、これが代わりにhasOne(1:1の関係)であれば、余分なテーブルはなぜですか? – deizel
まあ、私はデータベースにログインする人以外の人のために電子メールアドレスを持っています。たとえば、次のように動作します。Person hasOne EmailAddress - EmailAddress belongsTo Person。これらの「人」の一部もログインが許可されます。すでにemail_addressesテーブルに存在するメールアドレスは、そのユーザー名になります。だから私は自分のemail_addressを新しいテーブルに挿入する必要があります。ユーザーごとに1つの電子メールしか持たないという関係はありません。データベースにすでに存在するデータを他の場所に追加するという点はありません。 –
実際に私が現在使用しているテーブルについては間違っていましたが、何も変わっていないと思います。私は人のテーブルのフィールドとして電子メールアドレスを持っています。だから1人あたり1つのアドレスしかないのですが、私は人物テーブルの電子メールフィールドでユーザー名としてログインする可能性があると考えていました。私がCakeを使っていなかったら、これがデータベースを設計する最良の方法だと思います。すべての人がユーザーになるわけではないので、私はusersテーブルに電子メールを入れることはできません。なぜデータを複製するのですか?私は利益を見ません。 –