同じクラスに属しているクラスを設計することは可能ですか?クラスbelongsTo Laravelの同じクラス
ex。 People1
は、Balance
とAccount
を持ってPeople2
はそのBalance
People1
とAccount
だから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');
}
:
素晴らしい解決策ですが、スキーマはどうですか? 「child_id」列と「parent_id」列も含める必要がありますか?関係が同じforeign_key、both、hasOneおよびBelongsToをイベントオブジェクトを返す場合、2番目のものが最初のものの親または子である場合は無関係です。 – exSnake