我想用laravel-uuid包生成一個UUID(不是主鍵,只生成一個)。這些文檔非常簡單,所以根據自述文件,只需調用$uuid = Uuid::generate();
即可生成UUID,但它會返回一個空對象。 (我也試過$uuid = Uuid::generate(1);
)Laravel UUID的生成
我按照提供的安裝說明(沒有什麼不尋常的),應用程序不會拋出任何錯誤,所以我猜一切都是正確的。
此替代包也歡迎。
我想用laravel-uuid包生成一個UUID(不是主鍵,只生成一個)。這些文檔非常簡單,所以根據自述文件,只需調用$uuid = Uuid::generate();
即可生成UUID,但它會返回一個空對象。 (我也試過$uuid = Uuid::generate(1);
)Laravel UUID的生成
我按照提供的安裝說明(沒有什麼不尋常的),應用程序不會拋出任何錯誤,所以我猜一切都是正確的。
此替代包也歡迎。
有可能$uuid
是空的,因爲你的系統沒有提供正確的熵。您可以嘗試這些庫實現了無論是V4或V5 UUID:
// https://tools.ietf.org/html/rfc4122#section-4.4
function v4() {
$data = openssl_random_pseudo_bytes(16, $secure);
if (false === $data) { return false; }
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
// https://tools.ietf.org/html/rfc4122#section-4.3
function v5($name) {
$hash = sha1($name, false);
return sprintf(
'%s-%s-5%s-%s-%s',
substr($hash, 0, 8),
substr($hash, 8, 4),
substr($hash, 17, 3),
substr($hash, 24, 4),
substr($hash, 32, 12)
);
}
感謝隊友,我會嘗試這個作爲最後的手段,我想用一些爲laravel建造的東西 – Skatch
嘗試使用此軟件包會自動生成並分配模型中的UUID字段,也可以通過UUID鍵顯示和更新。
嘗試'回波UUID ::產生()'或'$ UUID = UUID ::產生(); echo $ uuid-> string' –
我第二什麼@BenSwinburne說:看着[源](https://github.com/webpatser/laravel-uuid/blob/master/src/Webpatser/Uuid/Uuid.php# L428)似乎應該可以執行'echo Uuid :: generate() - > time'來取回v1 UUID。或者' - > string'來獲取字符串版本。 – bishop
得到它的工作......事實證明,如果我試圖返回一個響應,並且當我使用$ uuid-> string時,對象返回空。謝謝! – Skatch