Laravelでelomequentを使用して同じ2つのテーブルの多くの関係にさまざまな関係を作成するのですか

StackOverflow https://stackoverflow.com//questions/21022111

質問

私は2つのテーブルの「ユーザー」と「コンテンツ」を持っています。 ユーザーはお気に入りのコンテンツを使用できますので、Pivot Table User_Contentを使用して、ユーザーとそれらが熱心したコンテンツとの間の多くの関係を確立します。 これは大丈夫です。

ユーザーはコンテンツを購入することもできます。これは上記と同じ関係(user_content)になりますが、まったく異なるデータです。

テーブル間の関係が同じであるが、コンテンツが異なる場合の関係をどのように設定しますか。 それとも私がこれに近づいているべきですか?

役に立ちましたか?

解決

user_idフィールドとcontent_idフィールドを含むuser_purchaseとuser_favoriteテーブルを設定するだけです。

モデルを設定

class User extends Eloquent{
    public function purchases()
    {
        return $this->belongsToMany('Content','user_purchase');
    }

    public function favorites()
    {
        return $this->belongsToMany('Content','user_favorite');
    }
}

class Content extends Eloquent{

    public function buyers()
    {
        return $this->belongsToMany('User','user_purchase');
    }

    public function favorites()
    {
        return $this->belongsToMany('User','user_favorite');
    }
}
.

2列目は、多くの関係を確認するためのどのテーブルを示します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top