Я мочу ноги в DBIx::Class — любя его до сих пор.Как я могу отфильтровать набор записей Perl DBIx с двумя условиями в одном столбце?
Одна из проблем, с которыми я сталкиваюсь, заключается в том, что я хочу запрашивать записи, отфильтровывая записи, которые не находятся в определенном диапазоне дат.
Это мне потребовалось некоторое время, чтобы узнать, как сделать <=
тип матча вместо матча равенства:
my $start_criteria = ">= $start_date";
my $end_criteria = "<= $end_date";
my $result = $schema->resultset('MyTable')->search(
{
'status_date' => \$start_criteria,
'status_date' => \$end_criteria,
});
Очевидная проблема состоит в том, что, так как фильтры в хэш-я перезаписывая значение для «status_date», и я только ищу, где status_date < = $ end_date. SQL, который запускается на выполнение является:
SELECT me.* from MyTable me where status_date <= '9999-12-31'
Я искал CPAN, Google и так и не смогли понять, как применять 2 условия для одной и той же колонке. Вся документация, которую я смог найти, показывает, как фильтровать более одного столбца, но не 2 условия в одном столбце.
Уверен, что мне не хватает чего-то очевидного. Может ли кто-нибудь здесь указать мне на это?
Отлично! Это именно то, что мне нужно! Если только это было задокументировано лучше ... Спасибо большое, friedo, я его высоко ценю! – BrianH