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

时间:2017-12-17 15:13:11

标签: php mysql laravel pivot relationships

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

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

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

订阅的内容
$user = User::where('slug', $slug)->first();
$subscribed = $user->subscription;

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

1 个答案:

答案 0 :(得分:0)

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

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

foreach ($subscribed as  $subscriber) {

    $subscriber->name;
}