#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. Приятно знать, что я смог вам помочь!!