У меня есть таблица, которая выглядит следующимLaravel валидатор: комплексное правило, существует правило
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 часа.
Я пытаюсь сделать это «правильный» путь с помощью валидатора, но, возможно, это не означает для него ...
Примечание: Я не могу иметь 1 запись по электронной почте с vote_count, потому что я необходимо хранить информацию, такую как vote_date для каждого голосования, даже если она принадлежит одному и тому же лицу.
написать специальное правило. – itachi