Сделайте INDEX для полей, по которым ищете. У нас на работе тоже были такие проблемы, запрос даже бывал 10 секунд обрабатывался. И разумеется сделайте все через 1 запрос, должен быть 1 запрос, не пользуйтесь подзапросами. http://ruhighload.com/post/Работа+с+индексами+в+MySQL
А вы попробуйте вывести всю коллекцию $model и сразу поймете в чем дело.
Ведь может же быть несколько строк в таблице, где price = 100, в этом и суть , where возвращает "массив массивов" в отличии от метода find ( где id уникальный).
Ответ написан
Комментировать
Комментировать
Оценили как «Нравится»
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.