Конструктор запросов - сложное условие
Добавлено: 2018.06.14, 16:58
В процессе составления запроса заметила, что условия генерятся по-разному. Вопрос: если хочется записать сложное условие способом 1, то есть ли способ указать конструктору, что операнд является колонкой в таблице, а не строкой?
Способ 1. Не работает. Хорошо читается
Способ 2. Работает. Плохо читается
Способ 1. Не работает. Хорошо читается
Код: Выделить всё
$query->where([
'and',
['<', 'c2.lft', 'c0.lft'],
['>', 'c2.rgt', 'c0.rgt'],
['<>', 'c2.slug', 'root']
])
// WHERE (`c2`.`lft` < 'c0.lft') AND (`c2`.`rgt` > 'c0.rgt') AND (`c2`.`slug` <> 'root')
Код: Выделить всё
$query->where('c2.lft <= c0.lft AND c2.rgt >= c0.rgt AND c2.slug <> "root"')
// WHERE c2.lft <= c0.lft AND c2.rgt >= c0.rgt AND c2.slug <> "root"