我想我有点陷入困境,我只需要有人来澄清事情。所以我得到的是一个用户系统,其中包括订阅人们“订阅”他们的内容(正如你已经从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
]);
}
}