Как создать «Виртуальное поле» в CakePHP ver. 1.2 - PullRequest
1 голос
/ 19 января 2011

НИЖЕ ПРОСТО НЕМНОГОПРАВИМЫЙ ПРИМЕР К МОЕЙ ПРОБЛЕМЕ

"У меня есть таблица с именем ' homes ', связанная с моделью ' Home ', имеющая поля id, title, price.

Я хочу создать виртуальное поле с именем «selected_price», которое основано на некоторых сложных вычислениях, которые варьируются от USER TO USER в зависимости от условий поиска для конкретной записи.

После этого я хочу разбить на страницы модель Home , используя

$this->paginate('Home',array('order'=>'calculated_price ASC'));

"

У меня есть продолжающийся проект по улучшению, который использует Cake версии 1.2, которая не поддерживает концепцию «virtual_field», как это поддерживается Cake Ver 1.3

Поэтому, пожалуйста, предоставьте решение этой проблемы ...

Как мне разбить на страницы & 'order by' поле, которое было создано динамически с помощью cakephp $ this-> paginate ();

Как / можно ли настроить торт 1.2 для поддержки концепции виртуального поля для пирога 1.3? ИЛИ есть какое-нибудь лучшее решение?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2013

Единственное решение:

Создайте «не виртуальное» поле в таблице пользователей, где вы рассчитываете цену с помощью методов обратного вызова модели, например afterSave ()

0 голосов
/ 03 марта 2011

Если расчет выполняется во время выполнения для каждой визуализации, почему бы вам просто не использовать $this->set('calulated_price'=>calculated_price);

...