Laravel 5.5如何获得与模型相关的所有模型?

问题描述 投票:-1回答:1

我有与自己有关系的模型用户

public function subscription()
{
    return $this->belongsToMany('App\User', 'subscription', 'subscriber_id');
}

我为让用户互相订阅而做的。我用2列(订户ID,user_id)制作了数据透视表。因此,在用户配置文件中,我向所有用户显示了当前用户订阅的内容

$user = User::where('slug', $slug)->first();
$subscribed = $user->subscription;

这很有效。那么现在我不知道如何显示订阅该用户的所有用户?我尝试使用DB::table('subscription')->where('user_id', 1)->get();,但这不会返回用户模型。我知道这很容易解决,但我真的被困在这一个......

php mysql laravel pivot relationships
1个回答
0
投票

您只需循环遍历$subscribed集合即可让所有用户订阅该用户。

$user = User::where('slug', $slug)->first();
$subscribed = $user->subscription;

foreach ($subscribed as  $subscriber) {

    $subscriber->name;
}
© www.soinside.com 2019 - 2024. All rights reserved.