1

クーポンコードとして使用するための固有のコードを生成します。これがクーポンコードの生成方法です

public function generateCoupon(){
    $chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $res = "";

    for ($i = 0; $i < 6; $i++) {
        $res .= $chars[mt_rand(0, strlen($chars) - 1)];
    }

    return $res;
}

DB に同じコードが複数回含まれていないことを確認するために、生成されたコードが存在するかどうかを確認します。

$coupon = $this->generateCoupon();

while($repository->findOneByCode($coupon) != null){
    $coupon = $this->generateCoupon();
}

クーポン コードはユーザーによって要求され、使用されるまでユーザーに割り当てられます。

クーポンを使用した場合、クーポンはどうなりますか? これでコードは DB から削除され、再び使用できるようになります。これは良い習慣ですか?または、コードを永久に保存する必要がありますか? クーポンをどのように管理しますか?

4

1 に答える 1

1

UUIDをクーポン コードとして使用して一意性を確保するか、クーポン コードを「永久に」使用済みとしてマークされたレコードに保存することができます。

于 2012-12-02T13:48:46.867 に答える