我有兩個表格:玩家和戰鬥。 當玩家停留一個又一個,一個新的行插入在其中的挑戰者玩家ID存儲在player1_id列和挑戰玩家存儲在player2_id流明5.4有兩列相同的型號有很多關係
我的戰表看起來像這樣的戰鬥表:
- ID
- player1_id(挑戰者播放器)
- player2_id的(攻擊球員)
- ...
我需要的是在玩家之間有一個hasMany關係來匹配任一列。
我發現了一個幾乎相同的問題的解決方案,並試圖哪些用戶科林詹姆斯建議https://stackoverflow.com/a/29775608/1481559但它並沒有爲我工作。
另一種解決方案我試圖用工會按Acasar的建議上https://laracasts.com/discuss/channels/eloquent/combining-multiple-hasmany-relationships-into-one-model-relation-query-builder
public function battles() {
return $this->hasMany('App\Battle')->union($this->hasMany('App\Battle')->toBase());
}
,但我沒有成功。
你的第二個建議,沒有工作,它給了我「調用模型[App \ Player]上的未定義關係[戰鬥]」。無論哪種方式,我決定走第一條路。非常感謝! – Amorim
我認爲,因爲合併調用不會給你一個關係,但一個數組返回。不用謝 – mimo