PHP Laravel 5.2:订阅的雄辩关系

时间:2016-05-24 23:25:05

标签: php laravel eloquent relationship

我想我有点陷入困境,我只需要有人来澄清事情。所以我得到的是一个用户系统,其中包括订阅人们“订阅”他们的内容(正如你已经从FB,Twitter,YT等知道的那样)。

我的数据库模型如下所示:

Users
id
username

Subsccriptions
id
user_id
sub_id

目前我有一个用户模型和一个订阅模型。来自用户的模型:

public function subscriptions()
{
    return $this->hasMany('App\Subscription');
}

相比之下,我的订阅对象:

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

因此,在我个人看来,这是一个很多的关系。如果我使用User-> subscriptions() - > get()调用用户对象,我可以获得订阅及其子ID,因此我知道THE CURRENT用户订阅了谁。

人们告诉我相反的情况,它应该是一个多对多的关系。我做错什么了吗?我可以通过Eloquent中的关系自动将sub_id转换为用户吗?

//编辑: 以下是接收用户

订阅者的当前代码
public function index()
{
    $subs = Auth::user()->subscriptions()->get()->all();

    $submodels = [];
    foreach($subs as $sub) {
        array_push($submodels,User::find($sub->sub_id));
    }

    return view('home', [
        'subscriptions' => $submodels
    ]);
}

}

0 个答案:

没有答案