Как сделать db_delete по выборке из нескольких таблиц

Главные вкладки

Аватар пользователя One_Two One_Two 24 июня 2019 в 12:13

Всем привет!

Пытаюсь удалить записи с выборкой из нескольких таблиц:

$sqlDel = db_select('email_subscribe_readed_nodes', 'rn');
$sqlDel->join('email_subscribe_users', 'u', 'rn.rn_sid=u.sid');
$sqlDel->join('node', 'n', 'n.nid=rn.rn_nid');
db_delete($sqlDel)
->condition('u.status', 1, '>')
->condition('rn.rn_status', 1, '=')
->condition('n.type', $type, 'IN')
->condition('n.status', $status, '=')
->condition('n.changed', $changed, '<=')
->execute();

При такой конструкции, весь db_select в одну кучу сливается и выводится ошибка:
ERROR: improper qualified name (too many dotted names): selectfromemail_subscribe_readed_nodesrninnerjoinemail_subscrib.rn_sidu.sidinnerjoinnodenonn.nidrn.rn_nid LINE 1: DELETE FROM SELECTFROMemail_subscribe_readed_nodesrnINNERJOI...

Подскажите пожалуйста, что делаю не так?

Лучший ответ

Аватар пользователя One_Two One_Two 24 июня 2019 в 13:00

Всё понял, только через статический запрос

Комментарии