2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
實(shí)現(xiàn)此目的的一種方法是在字符串中查找瀏覽器名稱(chēng),并將它們解析為查詢(xún)中的瀏覽器名稱(chēng)。所以類(lèi)似的東西Mobile Safari 15.1.2將被解析為Safari:
ProfileTracker::selectRaw('
CASE
WHEN browser LIKE '%firefox%' THEN 'Firefox'
WHEN browser LIKE '%chrome%' THEN 'Chrome'
WHEN browser LIKE '%safari%' THEN 'Safari'
END AS browser_name,
count(1) AS count
')->groupBy('browser_name')->get();
請(qǐng)注意,我刪除了查詢(xún)生成器的部分內(nèi)容,以使此示例更具可讀性。您可以自己添加回您需要的任何內(nèi)容。
這會(huì)給你:
Chrome 1
Firefox 1
Safari 2
我的測(cè)試數(shù)據(jù)是:
"Chrome Mobile"
"Firefox 79"
"Mobile Safari 13.1.2"
"Mobile Safari 15.1.2"

TA貢獻(xiàn)1866條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以使用 SUBSTRING_INDEX 函數(shù)來(lái)提取瀏覽器名稱(chēng)的第一個(gè)字符串:
$browser = ProfileTracker::where($whereBrowser) ->selectRaw("browser,SUBSTRING_INDEX(browser, ' ', 1) AS BrowserName,COUNT(browser) as value") ->whereBetween('created_at', [Carbon::now()->startOfMonth(), Carbon::now()->endOfMonth()]) ->groupBy("BrowserName")->orderBy("value", "desc")->take(10)->get();
- 2 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報(bào)