deadloop
@deadloop
Активно осваиваю PHP

Как из базы вывести данные авторизованного пользователя?

Добрый день. Я только учусь использовать Ларавел, сильно не пинайте.

Есть две таблицы в базе:
Users:
id: 1, name: Alex
id: 2, name: Ilya

Role:
id: 1, user_id: 2, title: user
id: 2, user_id: 1, title: admin

В миграции create_role я добавил:
$table->foreign('user_id')->references('id')->on('users');

После авторизации мне нужно вывести данные из базы, таким образам.

Если авторизовался как Ilya то:
пользователь ilya, role: user

а если как Alex то:
пользователь Alex, role: admin

Вот что пока смог добавить в MainController
<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class MainController extends Controller
{
    public function index(Request $request)
    {
        $id = Auth::user()->id;
        $currentuser = User::find($id);

        return view('index', compact('currentuser'));
    }
}
  • Вопрос задан
  • 711 просмотров
Решения вопроса 1
@the5x
Сделайте метод role в моделе и достаньте данные

User::with('role')->findOrFail($id);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
deadloop
@deadloop Автор вопроса
Активно осваиваю PHP
Как я реализовал:

$id = Auth::user()->id;
$currentuser = User::find($id);
$user = $currentuser->name;
$role = Role::find($id);
$rolename = $role->title;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы