私はこのようなテーブルを持っています
vote_id
voter_email
target_id
vote_date
有権者は、各 に対して 1 日 1 回投票できます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_dateなどの情報を保存する必要があるため、vote_countを持つメールごとに1つのエントリを持つことはできません.