2017-05-28 9 views
0

同じクラスに属しているクラスを設計することは可能ですか?クラスbelongsTo Laravelの同じクラス

ex。 People1は、BalanceAccountを持ってPeople2はそのBalance

People1AccountだからEventテーブルは次のようになりPeople1->AccountからPeople2->Account

Creditを渡すためにイベントを作成します:

id | people1 | account | amount

イベント:

1 | foo | bar | -300

2 | foo2| bar | +300

イベント1は、どのように私はLaravelの関係を使用していることを指定することができます。イベント2に関連していますか?

私はEventクラスに$this->belongTo('App\Event')? のようなものを指定することができますが、その場合にはLaravelのドキュメントでは、クラスはそれがあまりにもhasOne関係を持たなければならないために属していることを述べています。これは問題なく動作するはず

public function parent() 
{ 
    return $this->belongsTo('App\Event'); 
} 

public function child() 
{ 
    return $this->hasOne('App\Event'); 
} 

答えて

1

一つの可能​​な解決策はこれです。乾杯!

+0

素晴らしい解決策ですが、スキーマはどうですか? 「child_id」列と「parent_id」列も含める必要がありますか?関係が同じforeign_key、both、hasOneおよびBelongsToをイベントオブジェクトを返す場合、2番目のものが最初のものの親または子である場合は無関係です。 – exSnake

関連する問題