Laraveでフィールドの値をランダムな整数値に更新する

Laraveでフィールドの値をランダムな整数値に更新するには、MySQLのRAND()関数とCEIL()関数を使います。

RAND()関数は0以上1以下のランダムな浮動小数値を返します。

RAND()関数の返り値を2147483647倍すると、0以上2147483647以下のランダムな値になります。

CEIL()関数は引数の値を切り上げて整数値を返すので、RAND()関数の返り値にCEIL()関数を適用すると、0以上2147483647以下の整数値をランダムに生成できます。

次のコードは、すべてのUserのtokenフィールドをランダムな値に更新する例です。

// すべてのUserのtokenフィールドをランダムな値に更新
User::query()->update(['token' => DB::raw('CEIL(RAND() * 2147483647)')]);

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください