Изображение в дБ правильное, и ваш store
метод в RatingsController
также работает, как и ожидалось.
Итак, вы хотите, чтобы мы привели пример кода для метода ProfileController
, чтобы получить предоставленные оценки пользователем и предоставляется пользователю.
1) Вы должны добавить к Пользователь модель следующего отношения:
public function ratingsProvidedByMe()
{
return $this->hasMany(Rating::class, 'user_id', 'id');
}
public function ratingsProvidedToMe()
{
return $this->hasMany(Rating::class, 'rated_user_id', 'id')
}
2) в Рейтинг модель:
public function ratedBy()
{
return $this->belongsTo(User::class, 'user_id');
}
public function ratedTo()
{
return $this->belongsTo(User::class, 'rated_user_id');
}
3) в вашем ProfileController :
public function view(Request $request)
{
$ratingsProvidedByMe =
Rating::with('ratedTo')
->where('user_id', Auth::id())
->all();
$ratingsProvidedToMe =
Rating::with('ratedBy')
->where('rated_user_id', Auth::id())
->all();
$me = $user = Auth::user();
return view(
'profiles.view',
compact(
'ratingsProvidedByMe',
'ratingsProvidedToMe',
'user', 'me'
)
);
}
PS Это всего лишь пример, адаптируйте мой пример под Ваш проект самостоятельно.