Не сказал бы что это "больно". При реализации чата, необходимо было при прокрутке в верх подгружать следующие n-сообщений, пагинация не подходила потому что информация обновлялась часто и следовательно данные тоже сдвигались, поэтому было решено брать id последнего сообщения, и делать выборку SELECT * FROM `messages` WHERE 'id' > $last_message_id LIMIT 10.
Перед тем как задать этот вопрос уже начал делать функционал под ваше решение, сейчас практический доделал), но все равно не достаточно уверен в том как долго он будет жить и поддерживаться.
Сценарии уже доводилось использовать и они как мне кажется намного лучше решают этот вопрос, в отличие от отдельной модели под формы, поэтому и задал этот вопрос,
Я знаю что есть валидаторы, это не то что мне нужно. Я имею ввиду что эти параметры не обязательные, если их нет выводить все записи, если указать какой-то один параметр то выводить записи с этим параметром. Делается что то вроде фильтров.