вы могли бы сделать:
$list = $this->AnyModel->query("SELECT * FROM big_table");
но я не думаю, что это решит вашу проблему, потому что, если у вас есть, например, 10-миллионные строки ... php не сможет управлять массивом из 10-миллионных значений...
но вы можете прочитать эти две ссылки, чтобы изменить время выполнения и ограничение памяти .. вы также можете изменить их на своем php.ini
Удачи!
РЕДАКТИРОВАНИЕ хм, благодаря вашему вопросу я кое-что узнал: P Прежде всего, мы все согласны, что вы получаете эту ошибку, потому что Cakeвыполняет запрос и пытается сохранить результаты в одном массиве, но php не поддерживает такой большой массив, поэтому у него не хватает памяти и происходит сбой. Я никогда не использовал классическую mysql_query () (я предпочитаю PDO), но после прочтенияДокументы, похоже, что mysql_query хранит результаты в ресурсе , поэтому он не загружает результаты в память, и это позволяет вам зацикливать результаты (например, зацикливание большого файла).Итак, теперь я вижу разницу ... и ваш вопрос на самом деле, вот этот:
Могу ли я остановить CakePHP, извлекающий все строки для запроса?
=) iпонимаю ваше разочарование по поводу торта, иногда я также расстраиваюсь из-за этого (можете ли вы поверить, что нет простого способа выполнить запрос с предложением HAVING ?? u_U)
Cheers!