Тортphp. Поведение - Измена!

Я, как обычно, не ищу легких путей и, как обычно, сталкиваюсь с задачами, не освещенными на book.cakephp.org ;-) Самой хлопотной частью проекта для меня всегда была пагинация и все, что с ней связано (выборки, сортировка).

И вот, я в очередной раз наступил на грабли, и на мой вопрос нет ответа.

Итак, какая была задача: Модель A – имеет много моделей B Модель B – принадлежит модели A Модель B — actAs('Изображение') Изображение – чудесное поведение Евгения Томенко , который служит для связи записи в модели с сохраненным изображением.

В случае запроса Model B -> .

любой формы поведение работало как часы, и я получал нужные мне данные, в данном случае картинки.

Однако когда возникла задача построить запрос типа Модель B -> Модель -> A (с условиями, когда выбор основан на полях Модели A) Оказалось, что поиск и привязка работают отлично, но в результатах ассоциированной Модели Б нет и следа работы поведения.

Я просто получил поля модели, без нужных мне «искажений».

Никакие возни с Contain, запросом порядка и т.п.

— ни к чему не привели.

В группе Google также нет ответа.

А сегодня нашел еще одни грабли, но с поведением Перевести.

Если вы используете инструкции , и делай как там советуют - всё работает нормально, кроме моей любимой привязки.

А именно, нельзя сортировать по полям, расположенным в таблице i18n. Не будет работать.

Только для тех полей, которые присутствуют явно.

Так.

Я, конечно, не хочу сказать, что сортировка таблицы, построенной через i18n, будет работать быстро или в принципе будет работать вменяемо.

Возможно, это не так.

Но в этом случае, если вам нужно как-то отсортировать результаты, отличные от id, созданных, то у вас нет шансов использовать такое поведение.

Это не сработает. :( И если первые грабли можно обойти вторым запросом (сначала получая список id Model B, а потом запросив все записи напрямую из Model B (вот тут поведение будет работать).

то во вторых граблях только так сортировать — значит обойтись без коробочного поведения.

2Все: Если кто-то решил данные проблемы, поделитесь решением в комментариях.

Речь идет о CakePHP 1.2.3.8166. Теги: #CakePHP #поведение #грабли #изображение #Перевести #Чулан

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.