@PendalF89

Как в запросе добавить JSON_TABLE в конец секции FROM в AR?

Здравствуйте!
Есть таблица artist в базе с полем data_json, в котором хранится json, я хочу с помощью AR в конец секции FROM добавить следующий код:

JSON_TABLE(data_json, '$.songs[*]' COLUMNS (
  name VARCHAR(128) PATH '$.name',
  duration INT PATH '$.duration'
 )
) songs


Пишу вот так:
$query->from([
'artist',
'JSON_TABLE(data_json, '$.songs[*]' COLUMNS (
  name VARCHAR(128) PATH '$.name',
  duration INT PATH '$.duration'
 )
) songs'
])


И всё работает, но если добавить в запрос left join, то запрос ломается, т.к. left join добавляется к концу секции FROM и применяется к JSON_TABLE.
Вопрос: как сообщить AR, что нужно добавить JSON_TABLE в конец FROM?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
Не знаю, как работает ваш кейс, но попробуйте этот запрос сделать подзапросов.

$subQuery = Model::find()->from(...); // JSON_TABLE

$query = Model::find()->from($subQuery)->join(...);
Ответ написан
Ваш ответ на вопрос

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

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