【问题标题】:MySQL query convert in Laravel DB queryMySQL 查询在 Laravel DB 查询中转换
【发布时间】:2020-03-01 22:38:57
【问题描述】:

这是一个产品目录页面,我需要获取 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 中转换查询?

【问题讨论】:

  • 您的问题是什么? nothing works 到底是什么意思?

标签: mysql database laravel-6 laravel-facade


【解决方案1】:

我就这样解决了我的问题

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多