Как реализовать эти отношения в Eloquent? - PullRequest
0 голосов
/ 04 июня 2018

У меня есть SQL-запрос:

    SELECT f.follower_id, u.fname, u.lname
    FROM followers f
    INNER JOIN users u ON f.follower_id = u.id
    WHERE f.user_id = $user_id
    AND u.status = 1
    ORDER BY fname, lname
    LIMIT 10

У меня есть две модели: Пользователь и Подписчик.

У пользователя может быть много подписчиков, и у каждого подписчика есть свои пользовательские данные.Я хочу иметь возможность получить всех подписчиков пользователя (имеющих статус 1), выполнив что-то вроде этого:

$followers = User::get_followers();

1 Ответ

0 голосов
/ 04 июня 2018

Добавьте это к вашей User модели:

public function followers()
{
    return $this->belongsToMany(User::class, 'followers', 'user_id', 'follower_id')
        ->where('status', 1)
        ->orderBy('fname')
        ->orderBy('lname');
}

Тогда вы можете получить к ним доступ следующим образом:

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