отобразить список пользователей яслей в соответствии с яслями аутентифицированного пользователя в laravel - PullRequest
0 голосов
/ 27 мая 2020

У меня есть приложение для управления яслями, и я хотел бы отобразить список пользователей в соответствии с детскими яслями, к которым принадлежит аутентифицированный пользователь. Для этого у меня есть три таблицы: user, creche и creche_user

До тех пор мне удается отображать пользователей в соответствии с заданными яслями со следующим кодом:

$user = Auth::user();

    if ($user->roles()->where('title', 'admin','user')->exists()) {
        $users = User::whereHas( 'roles', function($q)
        { 
            $q->where('title','<>', 'superAdmin'); 

        } )

        ->whereHas('creches', function ($q) {
            $q->where('nom', 'e-creche');
        })


        ->get();
    } else {
        $users = User::all();
    } 

    return view('admin.users.index', compact('users'));

Моя проблема в том, что я не хочу указывать название яслей, как указано выше "е-ясельные". Я хочу напрямую восстановить ясли, к которым принадлежит аутентифицированный пользователь.

Спасибо тем, кто откликнулся!

1 Ответ

0 голосов
/ 28 мая 2020

Вы можете использовать отношения напрямую, как это

Auth::user()->creche

Но вы должны установить sh отношения между пользователем. php и Creche. php Что-то вроде этого

User.php

class User extends Authenticatable
{
    public function creche(){
        return $this->belongsTo('App\Creche');
    }
}


Creche.php

class Creche extends Model
{
    public function users(){
        return $this->hasMany('App\User');
    }
}

Тогда вы можете получить яслях аутентифицированного пользователя. Подробнее об отношениях здесь: Laravel Отношения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...