Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
$citys = $this->modelsManager->executeQuery("SELECT * FROM city");
$filters = $this->modelsManager->executeQuery("SELECT * FROM carfilter");
$partners = $this->modelsManager->executeQuery("SELECT id,city_id,email FROM Partner");
$to = array();
foreach($partners as $partner){ //Пробегаем по всем партнёрам
$city_config = unserialize($partner->city_id); //берём конфиги по городам
if(in_array($city, $city_config)){ //если партнёр работает в этом городе
foreach($filters as $filter){ //Проходимся по фильтрам
if($partner->id == $filter->partner){ //Находим фильтр, принадлежащий партнёру
if ($filter->consern_id == 1 && $filter->model_id == 1){ //если конфиг все модели/марки то
$to[] = array('email'=>$partner->email); //сразу записываем в список рассылки
}else{
if($filter->consern_id == $this->request->getPost("consern", "int") && $filter->model_id == $this->request->getPost("model_id", "int")){ //иначе если данные из заявки соответствуют фильтру, то
$to[] = array('email'=>$partner->email); //заносим его в список рассылок.
}
}
}
}
}
}
Реализация фильтра от новичка.
Сначала у него вообще был запрос к БД в цикле по $filters, тем самым он генерировал за раз больше 5к запросов :\
Комментарии (0) RSS