Предполагается две таблицы базы данных: Funds
и Prices
, в которых Funds hasMany Prices
.
Что я хотел сделать, так это получить последние 15 цен определенного фонда по определенному сценарию. Есть ли в CakePHP средство для выполнения вызова $this->Fund->find('all')
, который позволил бы мне ограничить число строк, которые можно извлечь из связанной таблицы Price
?
Обратите внимание, что я предпочитаю не устанавливать параметр 'limit'
в переменной $hasMany
модели Fund
.
Примечание к принятому ответу [2 ноября]:
В ответе Джейсона, который я принял , я лично выбрал решение bindModel
, так как я чувствовал, что, несмотря на то, что я чувствовал себя немного "хак-у", это предвещает мне гораздо больше, чем когда-либо -off переопределить для привязок модели по умолчанию.
Код, который я использовал, выглядит следующим образом:
$this->Fund->bindModel(array(
'hasMany' => array(
'Price' => array(
'limit' => 15,
'order' => 'Price.date DESC'
)
)
);
Нет unbindModel
необходимо. Дополнительную информацию можно прочитать из «3.7.6.6 Создание и уничтожение ассоциаций на лету» в руководстве CakePHP.