如何用laravel获得多个计数查询?

时间:2016-01-06 08:04:58

标签: php mysql laravel-5 laravel-5.1

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

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

上有一些paginate

1 个答案:

答案 0 :(得分:0)

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

$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;

我应该删除这个问题吗?