2015-10-18 54 views
2

我想算的人從圖書館拿我在laravel 5使用MySQL和這裏的圖書數量爲計數書號我想指望在mysql中我所有的重複值,但我得到這個

$books= DB::table('libraries')->where('userid', '=', $request->input('userid')) 
        ->select(DB::raw('count(*) as number')) 
        ->groupBy('userid')->get(); 
代碼

我得到這個結果

[{"number":24}] 

,但我只需要其中24個號碼是多少?

我試圖通過使用相關的陣列,但不會工作 $books['number']我怎樣才能數量得到它,它是陣列

+0

'SELECT COUNT(id)AS myCount WHERE number ='24';' – Wobbles

+0

或者你的意思是你不明白響應格式,它是JSON,你需要解析JSON – Wobbles

+1

這個結果是一個對象(json)in數組。如果你這樣做$ books = json_decode($ books); '$ books [0] - > number'如何爲你工作? – Jesse

回答

1

Laravel不返回一個關聯數組,它返回一個對象,而不是一個陣列(json_decode不需要)

因此,您應該能夠訪問您的值$books[0]->number,正如他人所述。

但主要問題是您的查詢。因爲用戶標識符位於where子句中,所以按用戶標識進行分組是冗餘的,這意味着您可以通過使用laravel的count函數來獲取具有特定用戶標識的行數:

$count = DB::table('libraries')->where('userid', '=', $request->input('userid'))->count(); 
+0

好的交易,我不知道Laravel,刪除了我的答案 – Jesse

相關問題