Mysql 需要帮助将sql查询转换为laravel查询吗

Mysql 需要帮助将sql查询转换为laravel查询吗,mysql,laravel-5,Mysql,Laravel 5,我需要以下sql查询到laravel查询中,或者如何按原样运行到laravel中。谢谢 SELECT t.* FROM (SELECT client_id,product_name, max(real_date) AS max_date FROM api_hilbertis.transactions WHERE active = 1 AND real_date <= '2019-03-01' GROUP BY client_id, p

我需要以下sql查询到laravel查询中,或者如何按原样运行到laravel中。谢谢

SELECT  t.*
FROM    (SELECT client_id,product_name, max(real_date) AS max_date
        FROM api_hilbertis.transactions
        WHERE active = 1 AND real_date <= '2019-03-01'
        GROUP BY client_id, product_name) AS m

INNER JOIN api_hilbertis.transactions AS t
        ON t.client_id = m.client_id
        AND t.product_name = m.product_name
        AND t.real_date = m.max_date
        AND active = 1
ORDER BY real_date DESC;

您可以使用laravel原始查询。 范例

因此,对于您的案例,我们可以编写如下内容:

$results = DB::select( DB::raw("
SELECT  t.*
FROM    (SELECT client_id,product_name, max(real_date) AS max_date
        FROM api_hilbertis.transactions
        WHERE active = 1 AND real_date <= '2019-03-01'
        GROUP BY client_id, product_name) AS m

INNER JOIN api_hilbertis.transactions AS t
        ON t.client_id = m.client_id
        AND t.product_name = m.product_name
        AND t.real_date = m.max_date
        AND active = 1
ORDER BY real_date DESC"
 ));

您可以使用laravel原始查询。 范例

因此,对于您的案例,我们可以编写如下内容:

$results = DB::select( DB::raw("
SELECT  t.*
FROM    (SELECT client_id,product_name, max(real_date) AS max_date
        FROM api_hilbertis.transactions
        WHERE active = 1 AND real_date <= '2019-03-01'
        GROUP BY client_id, product_name) AS m

INNER JOIN api_hilbertis.transactions AS t
        ON t.client_id = m.client_id
        AND t.product_name = m.product_name
        AND t.real_date = m.max_date
        AND active = 1
ORDER BY real_date DESC"
 ));

到目前为止你试过什么?你被困在哪里了?到目前为止你做了什么?你被困在哪里了?谢谢你,乔基奇。您是否可以在查询中插入变量作为查询的一部分?例如,在real_date中,我可以放置laravel变量{{date}}?代码如下:$results=DB::select DB::raw select t.*从api_hilbertis.transactions``WHERE active=1和real_date Hey@SarderIftekhar中选择客户id、产品名称、maxreal_日期作为max_日期。我用如何将变量传递给查询的示例编辑了我的答案。谢谢Djokic。您是否可以在查询中插入变量作为查询的一部分?例如,在real_date中,我可以放置laravel变量{{date}}?代码如下:$results=DB::select DB::raw select t.*从api_hilbertis.transactions``WHERE active=1和real_date Hey@SarderIftekhar中选择客户id、产品名称、maxreal_日期作为max_日期。我用如何将变量传递给查询的示例编辑了我的答案。