簡體   English   中英

使用laravel從sql server生成UUID數據類型(唯一標識符)失敗

[英]Fail generate UUID datatype (uniqueidentifier) from sql server using laravel

我的 php 配置有問題.. 在我的本地計算機上,所有 uuid 都正常運行.. 但是當我在我的服務器上運行時,uuid 無法生成,例如

b"uT‹ñÑ?zA´ñ'~$°\\x02'

在我的本地我使用 apache,在我的服務器中我使用 nginx .. 在我的本地和我的服務器中所有相同的 php 版本和 sqlserver 版本

那台服務器上我的配置 php.ini 有什么問題?

請幫我 ..

可能在來自 php (dblib) 的 sqlserver 驅動程序的 uuid 字段中進行字符串化,您可以在 PDO 調用中添加選項,如

        PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER => true,

你的 php.ini 沒有問題,好吧,問題是當你生成你的 uuid 時,當你把它放在 linux 中時,Laravel 不理解它。 您需要檢查您的模型(確保將類型列設置為 String ),並檢查查詢,這是一個示例:

    $user_list = DB::table('users')
                ->select(DB::raw('CAST(user.id AS NVARCHAR(36)) AS id'))
                ->orderBy('created_at', 'desc')
                ->first();

使用 cast ,將幫助您正確獲取 uuid。

暫無
暫無

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

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