【问题标题】:how do i get multiple count queries with laravel?如何使用 laravel 获得多个计数查询?
【发布时间】:2016-01-06 08:04:57
【问题描述】:

我需要一些查询生成器来获得这样的结果:

select 
A.`idalbum`, A.`title_en` as `title`, 
A.`desc_en` as `description`, A.`cover` as `cover`,
(SELECT COUNT(idgallery) AS gambar FROM gallery WHERE cate='1' AND albumid=A.idalbum) as gambar,
(SELECT COUNT(idgallery) AS videos FROM gallery WHERE cate='2' AND albumid=A.idalbum) as videos,
from `album` as A

我应该使用什么查询? 以防万一,我不能使用 RAW,因为我需要在 laravel Eloquent 上进行分页

【问题讨论】:

  • 首先你应该尝试。如果不成功,请在此处粘贴您的尝试。然后寻求帮助。
  • 好的,谢谢你的好意
  • 我同意 @AnandGupta 很遗憾人们已经停止阅读文档:laravel.com/docs/5.1/eloquent
  • 好的,我得到了答案。我应该删除这个问题吗?

标签: php mysql laravel-5 laravel-5.1


【解决方案1】:

我从另一个回复中得到了这个答案:

$result = DB::table('album as A')
        ->select("A.idalbum", "A.title_en as title", 
        "A.desc_en as description", "A.cover as cover",
        DB::raw("(SELECT COUNT(idgallery) AS gambar FROM gallery WHERE cate='1' AND albumid=A.idalbum) as gambar"), 
        DB::raw("(SELECT COUNT(idgallery) AS videos FROM gallery WHERE cate='2' AND albumid=A.idalbum) as videos")
        )
        ->orderBy('A.date', 'asc')->paginate($this->perpage);


 return $result;

我应该删除这个问题吗?

【讨论】:

    猜你喜欢
    • 2014-09-12
    • 2012-09-29
    • 2013-03-04
    • 2019-03-30
    • 2021-01-18
    • 2017-08-12
    • 2017-12-17
    • 2014-01-15
    相关资源
    最近更新 更多