Строитель запросов высокого уровня ORM будет выбирать столбцы, используя псевдонимы, то есть он будет создавать SELECT
предложения вроде этого:
SELECT Tenants.id AS Tenants__id, Tenants.created AS Tenants__created, etc...
Таким образом, ваш фрагмент эпилога не увидит столбец created
, следовательноОшибка.В таком случае проще всего сослаться на столбец через его номер позиции (хотя, по крайней мере, в MySQL, который устарел в IIRC!):
ORDER BY 2 DESC
В качестве альтернативы выберите столбец created
дополнительно с общим псевдонимом., например:
['Tenants.id', 'Tenants.created', 'created' => 'Tenants.created', 'Consumers.type']
['Buyers.id', 'Buyers.created', 'created' => 'Buyers.created', 'Consumers.type']
, который выберет столбец как Tenants.created AS created
, и вы можете ссылаться на него в предложении ORDER BY
через created
.
По крайней мере, в MySQL это такжеКажется, работает для ссылки на один из псевдонимов, если два запроса используют разные псевдонимы для одного и того же столбца (так как объединение выбирает работу на основе позиции), но я не уверен, верно ли это для других СУБД, в любом случае дляради завершения, может работать и следующее:
ORDER BY Tenants__created DESC