@RozmarinUS
YII2, PHP, React, TypeScript, Python hater

Как вывести записи из БД для определенного пользователя (ей)?

Всем привет, каким образом можно вывести записи для определенного пользователя, например в базе данных, в таблице №1, хранятся данные с контентом, а во второй таблице хранятся данные с ID пользователей, у которых есть доступ. Связь - многие ко многим
Таблица №1
5cf8268a9ac9c996126286.png

Таблица №2
5cf826ba172d8087768246.png

Пример кода
$model = Instances::find()->with('access')->all();
  • Вопрос задан
  • 250 просмотров
Решения вопроса 2
@noeer
Что мешает выполнить 2 запроса?
1) Получить массив instance_id из таблицы 2 для определенного пользователя.
2) Сделать выборку записей из таблицы 1 по уже известным id
Ответ написан
coderisimo
@coderisimo
Не совсем ясен вопрос. Вы уже написали реляции в модели?
Если нет - создаете ее в модели для таблицы 1 (реляция, связывающая ее с таблицей 2) и используйте.
Пример :
// допустим есть посты и авторы, автор - реляция
$posts = Post::find()
    ->joinWith('author') // это реляция
    ->where(['like', 'author.name', $searchword]) //  а это условие  по реляции
    ->all();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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