php - 通过优先级在单个 Laravel 查询中进行多选择查询

标签 php mysql laravel

我想将此查询语句转换为 Laravel 查询生成器 带分页

"SELECT images.*,categories.name,categories.slug   FROM ( SELECT 1 AS rnk, images.* FROM images WHERE title REGEXP '[[:<:]]{$q}[[:>:]]' 
                                UNION SELECT 2 AS rnk, images.* FROM images WHERE tags REGEXP '[[:<:]]{$q}[[:>:]]' ) images
                                inner join categories on categories.id = images.categories_id
                                where status = 'active' ORDER BY rnk"

我使用 Laravel 5.3

最佳答案

完成;)

            $subquery  = "( SELECT 1 AS rnk, images.* FROM images WHERE title REGEXP '[[:<:]]{$q}[[:>:]]' 
                            UNION SELECT 2 AS rnk, images.* FROM images WHERE tags REGEXP '[[:<:]]{$q}[[:>:]]') query";
        $images    = Images::select(['categories.name', 'categories.slug', 'images.*'])
                        ->join('categories', 'images.categories_id', '=', 'categories.id')
                        ->join(\DB::raw($subquery), 'query.id', '=', 'images.id')
                        ->where('images.status', 'active' )
                        ->groupBy('images.id')
                        ->orderBy('query.rnk' )
                        ->paginate( $settings->result_request )
                        ->appends(request()->query());

关于php - 通过优先级在单个 Laravel 查询中进行多选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53977779/

相关文章:

MySQL按日期分组,不存在则强制返回空值

php - dompdf 不使用 barryvdh/laravel-dompdf 加载 bootstrap css

php - Laravel Eloquent 中的急切加载内部的急切加载

javascript - 如何在PHP中提交表单后在新页面上显示使用HTML文件控件上传的图像?

php - 在 Laravel 中添加字符串类型的外键时出错

php - PHP for PostgreSQL 中的 bool 搜索处理

mysql - 如何改善mysql NATURAL LANGUAGE MODE的搜索查询?

php - 如何使用ajax jquery将两个变量传递给php,mySQL

php - 从数据库中获取空值仍然存在于 laravel 中的数据库中

php - 自定义工具未显示 View ,Laravel Nova