@Myma

Как в Yii2 организовать связь через таблицу с условиями?

В общем сам запрос выглядит так
SELECT * FROM `vk_users` WHERE `user_id` = 24 AND `chat_bot_clients_id` in (SELECT `id` from `chat_bot_clients` where `chat_bot_user_id` = 1)

user_id - это ID модели, которая имеет связь hasMany с vk_users
chat_bot_user_id - это ID текущего пользователя

Как правильно написать функцию связи?
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
nowm
@nowm
Вроде, такой подход должен сработать, если я правильно понял, что вы имели ввиду ActiveRecord:

$subQuery = chat_bot_clients::find()
    ->select('id')
    ->where(['chat_bot_user_id' => 1]);

$query = vk_users::find()
    ->where(['user_id' => 24])
    ->andWhere(['in', 'chat_bot_clients_id', $subQuery]);

$models = $query->all();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы