Laravel - сравнить значение из сводной таблицы с соответствующей таблицей - PullRequest
1 голос
/ 26 марта 2019

У меня есть следующие таблицы:

Пользователи: id | имя |

статьи: id | активный | глобальный | версия

и сводная таблица

articles_versions

user_id | статьи_ид | article_version

В модели "пользователь" я хотел бы иметь метод, который проверяет, совпадает ли в сводной таблице поле "article_version" с полем "версия" в таблице "article".

Мой текущий метод в "пользовательской" модели:

public function checkVersion()
{
    return $this->belongsToMany(
        Article::class,
        'articles_versions',
        'user_id',
        'article_id'
    )
        ->where('version', 'articles_versions.article_version');
        //OR
        //->wherePivot('version', 'articles_versions.article_version');
}

Как я могу передать значение "где" или "гдеPivot" для проверки из связанной таблицы?

Возможно ли это сделать?

Спасибо

1 Ответ

0 голосов
/ 26 марта 2019

Использование whereColumn():

public function checkVersion()
{
    return $this->belongsToMany(
        Article::class,
        'articles_versions',
        'user_id',
        'article_id'
    )->whereColumn('version', 'articles_versions.article_version');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...