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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel 5.5如何获得与模型相关的所有模型?相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

答案

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

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

foreach ($subscribed as  $subscriber) {

    $subscriber->name;
}

以上是关于Laravel 5.5如何获得与模型相关的所有模型?的主要内容,如果未能解决你的问题,请参考以下文章

LARAVEL 5.5 - 使用 Eloquent 模型将数据从 FORM 插入数据库

Laravel Pivot - 通过相关模型获得相同的模型

如何在 Laravel Eloquent 上过滤相关模型

Laravel:如何仅在模型关系存在时才查询模型关系

Laravel 获取所有具有关系的模型

php Laravel雄辩获得最新的相关模型