【问题标题】:Laravel 5.1 nested complex queryLaravel 5.1 嵌套复杂查询
【发布时间】:2017-04-22 10:34:38
【问题描述】:

我正在尝试从几个小时开始进行此查询,但我无法使用 laravel 语法进行此查询

\DB::select(\DB::raw(
"
SELECT * FROM products AS P WHERE (`d` = $d)
            AND (`mis` BETWEEN $min_c AND $max_c)
            AND (`e` BETWEEN $e_min AND $e_max)
            AND p1 IN
                            (
                            SELECT p1
                            FROM autos AS A
                            WHERE (`ma` = $strma)
                            AND (`d` = $d )
                            AND (`mis` BETWEEN $min_c AND $max_c)
                            AND (`e` BETWEEN $e_min AND $e_max)
                            AND (`p1` = P.p1 )
                            AND (`p2` = P.p2 )
                            )
            AND p2 IN
                            (
                            SELECT p2
                            FROM autos AS A
                            WHERE (`ma` = $strma)
                            AND (`d` = $d )
                            AND (`mis` BETWEEN $min_c AND $max_c)
                            AND (`e` BETWEEN $e_min AND $e_max)
                            AND (`p1` = P.p1 )
                            AND (`p2` = P.p2 )
                            )
"             
));

我想我必须使用 2 个函数,例如

->whereIn(array('p1','p2'),
function($query){

...
}
function($query2){
...
}
)

但它不起作用 我可以通过什么方式以 laravel 语法向数据库询问这个?

【问题讨论】:

  • 会发生什么?你的问题是在 Mysql 上还是在 Laravel 上?你有没有直接在一个MySql更直接的界面上尝试查询?非常不清楚您的问题是什么!

标签: php mysql laravel


【解决方案1】:

我用 2 个函数解决了 2 个问题。

->whereIn('p1',function($query) use (...
->whereIn('p2',function($query2) use (...

【讨论】:

    猜你喜欢
    • 2020-08-01
    • 2018-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-05
    • 2020-01-23
    • 2017-05-10
    相关资源
    最近更新 更多