2015-10-18 75 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

相关问题