dongyulian5801 2017-02-20 06:39
浏览 90
已采纳

用户有两个外键?

region, zone, district tables are all populated. User can get region, zone and district id from form each for temporary address and permanent address. What would be best database design for this:

Currently i am thinking of:

users table:

id  name  email  region_id  zone_id  district_id  tregion_id  tzone_id  tdistrict_id

but how can i make relation? 1 user can have 2 regions each for temporary address and permanent address? Even if i setup hasMany relations, wouldn't there be two foreign keys in terms of region_id and tregion_id?

  • 写回答

2条回答 默认 最新

  • doupian6118 2017-02-20 06:53
    关注

    Having two different foreign keys to the same table is perfectly fine. in the model you can have two relations where you define the different keys:

    public function region(){
        return $this->belongsTo(Region::class, 'region_id');
    }
    public function tempRegion(){
        return $this->belongsTo(Region::class, 'tregion_id');
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?