Извинения, если об этом уже спрашивали;Я не знаю, как правильно сформулировать вопрос, чтобы найти ответ в SO или Google.
У меня есть запрос в CakePHP, который разбивает на страницы ~ 3500 строк из таблицы модели «Профили» по умолчанию,Каждый профиль может иметь одно ("hasOne") "объявление", которое сместит позицию профиля в наборе результатов на 1, 2 или 3, если найдены (результаты упорядочены по значениям объявления, а затем по значениям профиля).
В моем начальном тестировании у меня было только около 100 профилей в базе данных.Теперь, когда я работаю со всеми ~ 3500 профилями, объединение таблицы объявлений hasOne с таблицей профилей приводит к тому, что запрос занимает почти 8 секунд при ~ 3500 строках.
Вместо того, чтобы найти отношение hasOne вВ каждой строке профиля в большом запросе я хочу сначала выполнить поиск 1-3 результатов объявления / профиля hasOne, а затем поместить эти результаты в начало набора результатов профилей, изменив массив order в параметрах Find.
Есть ли правильный способ сделать это в CakePHP?Я долго искал, но у меня действительно нет ни малейшего понятия, как можно назвать этот процесс, и я хочу убедиться, что по пути я ничего не взломал.Спасибо.