А придумайте, пожалуйста, вопросиков

Ragazzo

TDD interested
Фанат
о господи да я олдфаг :D
Redjik
<sarcasm>не, все равно не пришел, за каждый инстанс purifier на новый коммент руки оторвут, он же тяжелый</sarcasm> :D
 

Redjik

Джедай-мастер
Фанат
о господи да я олдфаг :D
Redjik
<sarcasm>не, все равно не пришел, за каждый инстанс purifier на новый коммент руки оторвут, он же тяжелый</sarcasm> :D
PHP:
	/**
	 * Purifies the HTML content by removing malicious code.
	 * @param string $content the content to be purified.
	 * @return string the purified content
	 */
	public function purify($content)
	{
		$purifier=new HTMLPurifier($this->options);
		$purifier->config->set('Cache.SerializerPath',Yii::app()->getRuntimePath());
		return $purifier->purify($content);
	}
меня самого это немного в уныние приводит =)
 

MiksIr

miksir@home:~$
1) Вывести всех клиентов, у которых не было заказов (или покупок) в магазине.
Просто ;) Мне больше нравится вопрос, который тут Фанат решал. Есть новости и категории с отношением многие-ко-многим, нужно вывести только те новости, которых нет в категории с id=5. Тут два решения есть, одно кривое и одно правильное. Даже те, кто решает - решают криво.
 

MiksIr

miksir@home:~$
Мне очень хочется понять состояние человека думать и... педантичность, что ли. Просто были уже случаи - вроде отвечает на всякие вопросы, берешь его и утыкаешься в то, что человек пишет как танк - не пролом и не думая. Сажает кучу заглушек и черновых решений, о которых потом забывает. Да просто банально не думает на два шага вперед. Ну т.е. неплохой исполнитель уровня жамшута - если задача четкая и проверяешь - все ок. Как только задача нечетка, типа "подумай" и свободное плавание - все, привет, начинаются детские косяки.
 

Ragazzo

TDD interested
MiksIr
wot? news_id,category_id и 2 таблицы news,category и нужно вывести все news которые не относятся к category.id=5, это сложно?
 

Sender

Новичок
fixxxer

вот смотри, сегодня последовательность %^#$%@#$ является безопасной.
Ты записал ее в БД и доволен, выводишь ее пользователю с полной уверенностью что все ок.

Завтра вдруг на хабре обнаруживается что эта последовательность нажимает большую красную кнопку у президента страны, ты прогнал базу и вырезал эту последовательность.
А послезавтра это оказывается уткой.
А еще послезавтра какой-то браузер crashится от другой последовательности, но только конкретно этот браузер.

Как ты решишь все эти проблемы если у тебя в базу сохраняется не то что ввел пользователь, а то что ты хочешь ему показать?

Где я не прав?
 

MiksIr

miksir@home:~$
MiksIr
wot? news_id,category_id и 2 таблицы news,category и нужно вывести все news которые не относятся к category.id=5, это сложно?
Нет, многие-ко-многим. Три таблицы. Ну одна нас не интересует, так что фактически две - news и news_has_category

Новость может вообще быть без категорий, кстати. Почему нет.
 

Ragazzo

TDD interested
MiksIr
Не, т.е. в таблице news_has_category нету category_id? это многие-ко-многим так чтоли? хм... видимо я что-то пропустил в sql :D
 

Redjik

Джедай-мастер
MiksIr
На вскидку GROUP BY или вложенный запрос, но можно еще подумать... какой лучше - смотреть EXPLAIN
 

fixxxer

К.О.
Партнер клуба
Sender
Писать в базу или фильтровать при выводе - это вопрос компромисса между расходом cpu и простотой обслуживания. Хоть так, хоть эдак можно. Я вообще не об этом, а о том, что надо отличать фильтрацию (частичный html) от приведения к целевому формату. Там про писать в базу было неудачное высказывание )
Если уж говорить о конкретной реализации, я предпочитаю держать в базе 2 поля.
 

MiksIr

miksir@home:~$
MiksIr
Не, т.е. в таблице news_has_category нету category_id? это многие-ко-многим так чтоли? хм... видимо я что-то пропустил в sql :D
Есть. Просто я решил, что ты про один-ко-многим подумал, когда у новости только одна категория.
Ну вот Redjik с налету не решил... вернее решил, но некрасиво.
 

Ragazzo

TDD interested
MiksIr
блин, я совсем запутался дак в чем проблема выбрать из двух таблиц по where с условием не брать id=5? :S
 

Ragazzo

TDD interested
MiksIr
:S
SELECT news.* FROM news, news_has_category WHERE news.id = news_has_category.news_id AND news_has_category.category_id!=5
где подвох?
 

MiksIr

miksir@home:~$
Код:
postgres=# select * from news_has_category;
 news_id | category_id
---------+-------------
       1 |           1
       1 |           5
       2 |           1
(3 rows)

postgres=# SELECT news.* FROM news, news_has_category WHERE news.id = news_has_category.news_id AND news_has_category.category_id!=5;
 id
----
  1
  2
(2 rows)
 
Сверху