Отношение Laravel

#php #laravel #laravel-5 #eloquent #laravel-5.3

#php #laravel #laravel-5 #красноречивый #laravel-5.3

Вопрос:

Это мое отношение:

AppSquareTopicsTopic::find(1)->subscriptions()->get();

И я получаю это обратно:

 >>> AppSquareTopicsTopic::find(1)->subscriptions()->get();
=> IlluminateDatabaseEloquentCollection {#786
     all: [
       AppSquareSubscriptionsSubscription {#787
         id: 1,
         user_id: 1,
         subscription_id: 1,
         subscription_type: "AppSquareTopicsTopic",
         created_at: "2016-10-03 16:08:31",
         updated_at: "2016-10-03 16:08:31",
       },
     ],
   }
  

Как мне получить пользователя (пользователей) этого отношения?

Ответ №1:

Чтобы получить пользователя подписок, вы можете определить этот метод в модели подписки:

 public function user()
{
    return $this->belongsTo(User::class);
}
  

Это позволит вам вызывать user в качестве атрибута объекта подписки.

Итак, затем вы можете написать foreach, чтобы получить от каждого пользователя соответствующие подписки, например:

 $subscriptions = AppSquareTopicsTopic::find(1)->subscriptions()->get();
foreach ($subscriptions as $subscription) {
    $u = $subscription->user;
}
  

Надеюсь, это поможет!

Комментарии:

1. Спасибо, очень приятно!

2. Приятно знать, что я смог вам помочь!!