У меня есть таблица, которая выглядит вот так
vote_id
voter_email
target_id
vote_date
Избиратель может голосовать один раз в день за каждый target_id
. Я пытаюсь подтвердить голоса, и это то, что у меня есть
['email' => "exists:participants_votes,voter_email,target_id,$targetId,vote_date,$date"];
Как я могу проверить дату диапазона? Есть ли способ сделать это без написания собственного кода?
Существует валидатор after:date
, но он должен быть в той же области, что и exists:
В основном что-то вроде этого: (хотя этот sql может быть совершенно неправильным)
Select MAX(vote_date) FROM parcitipants_votes WHERE voter_email = ?
тогда я бы проверил, наступила ли эта дата> сейчас - 24 часа.
Я пытаюсь сделать это «правильным» способом, используя валидатор, но, возможно, это не предназначено для этого ...
Примечание. Я не могу иметь только одну запись для каждого электронного письма с параметром vote_count, потому что мне нужно хранить информацию, такую как vote_date, для каждого голоса, даже если она принадлежит одному и тому же человеку.