回答編集履歴

2

moke

moke score 2191

2017/07/26 14:51  投稿

codeはuniqですか?uniq性はどう保っていますか?
indexはちゃんと貼ってありますか
間違っても、typeがStringじゃないですよね。
最低限上記のことを理解していない場合
###id以外を使うのはおすすめしませんが
Rails上の理屈を書くと
```ruby
has_many :branch_users
```
```ruby
has_many :branch_users,foreign_key: :user_id,primary_key: :id
```
の省略なので
branch_codeと言うもので関係性を定義していると
```ruby
branch_users: branch_code ,user_id, id
accessible_branches: branch_code
```
と仮定すると
```ruby
has_many :accessible_branches, through: :branch_users,foreign_key: :branch_code,primary_key: :branch_code
```
とかけます
何度も言いますが
###RDB(リレーショナルデータベース)を理解しないで、id以外を使うのはおすすめしません
1

moke

moke score 2191

2017/07/26 14:51  投稿

codeはuniqですか?uniq性はどう保っていますか?
indexはちゃんと貼ってありますか
間違っても、type Stringじゃないですよね。
間違っても、typeStringじゃないですよね。
最低限上記のことを理解していない場合
###id以外を使うのはおすすめしませんが
理屈を書くと
Rails上の理屈を書くと
```ruby
has_many :branch_users
```
```ruby
has_many :branch_users,foreign_key: :user_id,primary_key: :id
```
の省略なので
branch_codeと言うもので関係性を定義していると
```ruby
branch_users: branch_code ,user_id, id
accessible_branches: branch_code
```
と仮定すると
```ruby
has_many :accessible_branches, through: :branch_users,foreign_key: :branch_code,primary_key: :branch_code
```
とかけます
何度も言いますが
###RDを理解しないで、id以外を使うのはおすすめしません
###RDB(リレーショナルデータベース)を理解しないで、id以外を使うのはおすすめしません

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る