Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 22.05.2016 14:14:05

Wise

Отношения

Не понимаю, как реализовать, что бы извлекало всех пользователей с определенным рангом(модераторы,админы...).

Извлекание просто всех пользователей в онлайне
Session.php

    public function user()
    {
        return $this->belongsTo('App\User');
    }

    public function scopeRegistered(Builder $query)
    {
        return $query->whereNotNull('user_id')->with('user');
    }

ForumController.php

$all = Session::registered()->get();

Использую Entrust

#2 23.05.2016 16:48:16

Wise

Re: Отношения

Попробую поподробней объяснить, так как в отношениях я не силен, будет отдаленно.

Entrust\Role

User.php

    public function role()
    {
        return $this->belongsTo('App\Role');
    }

b7fp69

Пробовал через join, все возможные варианты перебрал, не получилось. Пробовал через контроллер, вроде тоже все перебрал. Насколько я понимаю, мне надо создать отношение в отношении, перепробовал все, ничего не получилось. Хотя бы натолкните в какому русле надо думать

#3 23.05.2016 16:48:57

Wise

Re: Отношения

#4 23.05.2016 19:11:03

Re: Отношения

return $this->belongsTo( 'App\Role' )->where( 'a', '=', 'b' );

Не в сети

#5 23.05.2016 21:42:19

Wise

Re: Отношения

hzone пишет:

return $this->belongsTo( 'App\Role' )->where( 'a', '=', 'b' );

Пробывал он в таблице Roles ищет user_id, а там собственно его нету, он выкидывает null. Там это работает через таблицу role_user

Вот так она выглядит
http://prntscr.com/b7jqkw

Если бы я знал, как получить связь role_user, я бы сам это сделал, но повторюсь, это entrust и там идет только к таблице Roles и я не смог найти как сделать к role_user

Подвал раздела