Переосмыслите, как вы опрашиваете свои столы ....
Когда вы делаете Users.Articles.Posts
, вы в основном говорите, что я интересуюсь прежде всего пользователями и некоторыми дополнительными связанными данными. Таким образом, вы можете легко отсортировать Users
, потому что вы получите наборы пользователей.
Но вы хотите отсортировать по Posts.id, тогда, возможно, вам нужно переосмыслить свой запрос и то, что важно для вас. И вместо этого сделайте запрос к таблице «Посты», например Posts.Articles.Users
(при условии, что у вас есть правильные связи, которые также ссылаются). Если вы сделаете это, вам, возможно, придется использовать matching
, если вам также необходимо применить фильтры к своим пользователям и статьям.
Коллекции сущностей
Итак, решите, что является вашим приоритетом, и переформулируйте ваш запрос соответствующим образом, и CakePHP поможет. Но подумайте с точки зрения коллекций объектов, а не с точки зрения «как заставить Cake генерировать этот SQL, который у меня есть в голове». Так будет проще использовать ORM Cake.
Удачи!