【问题标题】:how can i get the max count voted pictures from my vote table我怎样才能从我的投票表中获得最大数量的投票照片
【发布时间】:2016-02-17 11:13:07
【问题描述】:
SELECT userfbimages_id, count( * )
FROM votes
GROUP BY userfbimages_id 
HAVING count( * ) >= ALL (SELECT count( * )
                          FROM votes
                          GROUP BY userfbimages_id)

我尝试了这个查询,但我不知道如何在 laravel5.2 中执行它! 我试过了

$topim=Vote::where(SELECT userfbimages_id, count() FROM votes GROUP BY userfbimages_id HAVING count() >= ALL (SELECT count(*) FROM votes GROUP BY userfbimages_id));

返回空值

【问题讨论】:

  • 仍在寻找解决方案!

标签: mysql laravel count laravel-5 laravel-5.2


【解决方案1】:

你错过了星星。

count(*) 应该是使查询有效所需的全部内容!

【讨论】:

  • QLSTATE[42S22]: 未找到列:1054 Champ 'count(*) FROM votes GROUP BY userfbimages_id HAVING count(*) >= ALL (SELECT count(*) FROM votes GROUP BY userfbimages_id' inconnu dans where 子句(SQL:select * from votes where count( * ) FROM votes GROUP BY userfbimages_id HAVING count( * ) >= ALL (SELECT count(*) FROM votes GROUP BY userfbimages_id is null)
  • 确认一下,您的查询直接在 MySQL 上运行,但您的 Laravel 结构化查询不起作用?如果是这种情况,那么也许您应该在 Laravel 中将其作为原始 SQL 语句执行?这在 Doctrine 中当然是可能的,但不确定 Laravel/(eloquent?) 是如何工作的..
  • 我的查询在我的 sql 上运行时运行良好!!问题出在 laravel 我不知道该怎么做 :(
【解决方案2】:

对于那些为我的问题寻找答案的人,我找到了解决方案`

>     return $this->model
>                       ->where('seen','=', 1)
>                       ->with('votes')
>                       -sortby(function($top){
>                       return $top->votes->count();}, SORT_REGULAR, true);

this works with sortby and with a subquery !! but for a pagination you should change this with lefjoin statement :

                return $this->model
                    ->where('seen','=', 1)
                    ->leftJoin('votes','votes.userfbimages_id','=','userfbimages.id')
                    ->selectRaw('userfbimages.*, count(votes.userfbimages_id) AS `count`')
                    ->groupBy('userfbimages.id')
                    ->orderBy('count','DESC')
                    ->paginate($n);
`

我找到了解决方案,希望对您有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-19
    • 2012-03-09
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2021-04-30
    相关资源
    最近更新 更多