如何显示由最大行数确定的用户

Posted

技术标签:

【中文标题】如何显示由最大行数确定的用户【英文标题】:How to display a user determined by the maximum number rows 【发布时间】:2015-08-12 20:21:00 【问题描述】:

我正在使用 laravel 4.2,我有如下表格,看起来像这样

ID|chosen(boolean('0','1'))|subject|user_id
 1|1                       |cricket|2
 2|0                       |cricket|3
 3|1                       |rugby  |2

我想选择具有最多选择行的 user_id,或者换句话说,选择在他们选择的列中具有最多 1 的用户。所以在这种情况下,用户 2 将是正确的结果。

我相信这就是答案

$table = DB::table('tablename')
         ->select(array(DB::raw('count(user_id) AS CountUser')))
          ->where('chosen', 1)
         ->orderBy('CountUser', 'desc')
         ->groupBy('user_id')
         ->first();

但是如何在我的视图中显示 user_id? 例如:

$table->user_id //should give me '2'

错误信息如下:

未定义属性:stdClass::$user_id

【问题讨论】:

【参考方案1】:

您只选择计数。试试这个

$table = DB::table('tablename')
     ->select(DB::raw('count(user_id) AS CountUser, user_id'))
      ->where('chosen', 1)
     ->orderBy('CountUser', 'desc')
     ->groupBy('user_id')
     ->first();

【讨论】:

我仍然收到相同的错误消息。我很困惑! 可以dd($table)查询后显示结果吗? 我得到了这个object(stdClass)#222 (1) ["CountUser"]=> int(2) 它计算了具有最大 1 数的用户,但由于某种原因我无法显示该用户 这一定是 Laravel 的 bug! 在查询后尝试dd(DB::getQueryLog())并显示结果

以上是关于如何显示由最大行数确定的用户的主要内容,如果未能解决你的问题,请参考以下文章

如何增加 SwiftUI 选择器中显示的最大行数?

设置 HTML 表格的最大显示行数

Xshell设置XShell最大的显示行数

Wrap TextBlock的最大行数

Android TextView限制最大行数且在最后显示...全文

在 SQL 数据库中输入最小/最大行数