Просьба помочь разобраться в прослойке работы с БД.
1. Мне все-таки не очень понятно когда использовать db_select() а когда EntityFieldQuery - и в чем разница.
2. [срочно надо понять] в EntityFieldQuery - каким образом сделать условие на типа WHERE node.a = node.b (->fieldCondition('a','value',???) - здесь указывается переменная а вот как туда запихнуть node.b - черт его знает)
Комментарии
1. В 6-ке был db_rewrite, через него можно было модифицировать запрос другими модулями, в 7-ке db_query лишен такой возможности, а в db_select() есть для этого ->addTag()
2. Скорей всего Вам Вам нужен ->innerJoin(), ->condition() используются для условий на значения
1. Спасибо.
2. Неужели для простого сравнения значений в одной строке для двух полей только через джойн.. просто итак уже нагружено всего на сайте, лишний тик не хочется использовать если можно без него.
2. Если очень хочется "прямое" - db_query()
innerJoin() интерфейс напиши пожалуйста. Что-то на орге не вижу для EntityFieldQuery
или это только для db_select() ?
и не внимательно посмотрел я вначале говорил не о db_query vs db_select а db_select vs EntityFieldQuery()
Разобрались ? Поставьте в теме [РЕШЕНО]