MySQL 查询在 Laravel 数据库查询中转换

MySQL query convert in Laravel DB query

这是产品目录页面,我需要获取 1 张图片进行预览。

我现在的查询:

DB::select('SELECT  
                h.*
              , (SELECT link 
                 FROM media_libs m 
                 where h.id=m.have_videos_id limit 1) as link 
            FROM have_videos h')

但是我需要分页。

DB::select('SELECT 
                h.*
                , (SELECT link 
                    FROM media_libs m 
                    where h.id=m.have_videos_id limit 1) as link 
            FROM have_videos h')->paginate(15)

所以自然没什么效果

如何转换 Facade DB 中的查询?

我这样解决了我的问题

$products = DB::table('have_videos')
                ->leftJoin('media_libs', function($join) {
                    $join->on('have_videos.id', '=', 'media_libs.have_videos_id')
                        ->select('have_videos_id','link')
                        ->where('kind',1);
                })
                ->distinct()
                ->whereIn('media_libs.ID', 
           [DB::raw('select min(ID) from media_libs group by media_libs.have_videos_id')])
                ->simplePaginate(15);