我有我的數據庫中的表稱爲keys
具有這樣的結構:Laravel:隨機生成的唯一令牌
id | user_id | token_id | token_key
每次用戶登錄到我的網站,我需要生成一個新的token_id
和token_key
集該用戶。我如何爲token_id
和token_key
生成一個隨機標記,同時保持這兩個值的唯一性?
例如,如果:
token_id
是dfbs98641aretwsg
,token_key
是sdf389dxbf1sdz51fga65dfg74asdf
含義:
id | user_id | token_id | token_key
1 | 1 | dfbs98641aretwsg | sdf389dxbf1sdz51fga65dfg74asdf
可以有在表中沒有其他行令牌的組合。我怎樣才能做到這一點?
你能解釋一下while循環將保證有贏沒有任何重複? – user5486944
更具體地說,'instanceof'在while循環中做了什麼? – user5486944
['do-while'](http://php.net/manual/en/control-structures.do.while.php)循環將保持「正在執行」,只要「while」中的語句評估爲「true」 '(和'while-do'不同,它至少運行一次)。在這個特定的例子中,它將生成令牌ID /密鑰對,然後它將嘗試在具有該特定令牌和密鑰對的數據庫中查找用戶。 'instanceof'檢查結果是否是'User'類的實例,意味着它檢查是否找到這樣的用戶。如果是,'do'將再次執行並創建另一個對,依此類推,直到找到沒有生成的令牌id/key對的用戶。 –