簡體   English   中英

Laravel 5.2生成隨機數並保存到數據庫

[英]Laravel 5.2 generate random number and save to database

我是Laravel的新手,正在創建一個具有不同字段的client表,但是我還有一個名為client_number的字段,我想在laravel中生成隨機數並將其保存到該特定列中,也不要重復。

誰能幫幫我嗎。

非常感謝

將這三種方法放入要處理客戶端注冊的控制器中。 在存儲方法中,您可以添加更多客戶端參數。 您將需要在控制器中導入客戶端模型,可以通過編寫use App\\Client;來完成use App\\Client; 並請求處理程序。

在第二種方法中,我在表中檢查客戶端號是否存在。

    public function store(Request $request)
        {

            $client = new Client;

        $client->name = $request->name;
        $client->client_name = $this->getClientNumber();
        $client->save();
    }


      public function getClientNumber(){
         do{
             $rand = $this->generateRandomString(6);
          }while(!empty(Client::where('client_number',$rand)->first()));
           return $rand;
        }



    public function generateRandomString($length) {
        $characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        $charactersLength = strlen($characters);
        $randomString = '';
        for ($i = 0; $i < $length; $i++) {
            $randomString .= $characters[rand(0, $charactersLength - 1)];
        }
        return $randomString;
     }

您可以使用str_rand()或rand()預定義函數獲取隨機數並在DB中進行檢查

public function store(Request $request)
{

 //Generate Random Number
 do{
   $randomString = str_random(2).rand().str_random(2);
   $rand =  "CLI_".$randomString;
 }while(!empty(clients ::where('client_number',$rand)->first()));

//Insert Query
 $Clients = new clients ;
 $Clients ->name = $request->name;
 $Clients ->client_number = $rand;
 $Clients ->save();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM