Не понимаю логики

partizan

Новичок
Не понимаю логики

Функция должна выбрать из базы все сайты данной категории

Код:
PHP:
function RetrieveByCategory($category_id,  $order_by='Rating', $direction='desc', $all=FALSE) 
	{
		$site_ids = array();
		$cb = new ConditionBuilder();
		$cb->add(new EqualCondition('ReviewCategoryId', $category_id));   
		
		$Finder = new ReviewSiteCategoryFinder();
		foreach ($Finder->FindAllBySql($cb) as $ReviewSite) {
			$site_ids[] = $ReviewSite->get('ReviewSiteId');
		}
		
		if (!empty($site_ids)) {
			$cb = new ConditionBuilder();
			$cb->add(new InCondition('Id', $site_ids));
			$cb->addOrderBy('Approved', 'desc');
			
			if (!is_array($order_by)) { $order_by = explode(',', $order_by); }
			foreach ($order_by as $element) {
				$cb->addOrderBy($element, $direction);
			}
			if (!$all) {
				$cb->add(new EqualCondition('Approved', 1));
			}
			
			$cb->add(new EqualCondition('Deleted', 0));
			return $this->FindAllBySql($cb);
		} else {
			return array();
		}
	}
Как видно из кода - функция сначала выбирает все сайты этой категории запросом
SELECT * FROM ...
WHERE CategoryId = ...

Потом собирает все найденные ID в список, и вторым запросом выбирает из них все, у которых approved и не deleted
SELECT * FROM ...
WHERE id IN (...) and (approved=1) and (deleted=0)

Я один не понимаю логику автора? Зачем 2 запроса?
 

SiMM

Новичок
> Я один не понимаю логику автора? Зачем 2 запроса?
Почему бы не спросить у автора?
 

Духовность™

Продвинутый новичок
я вот тоже сейчас трахаюсь. я тоже не понимаю логики:

PHP:
$description=ereg_replace("\n","<br>",$descr);
	$description=str_replace("\n","<br>",$description);
    $description=ereg_replace("\r","",$description);
	$description=str_replace("\r","",$description);
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
triumvirat
Ну не слышали люди про nl2br. Бывает.
 

Фанат

oncle terrible
Команда форума
Mr_Max
скорее, хранят в текстовом файле.
мне другое непонятно - зачем здесь повторы и что вообще делает это сообщение в этом топике
 
Сверху