【问题标题】:Please How can I convert sql query into laravel query请问如何将sql查询转换为laravel查询
【发布时间】:2020-07-14 17:38:53
【问题描述】:

我需要将此 sql 查询转换为 laravel 查询生成器,否则我该如何运行到 laravel 中。

SELECT rt.id, rt.type, rt.total_no_of_rooms,IFNULL(SUM(r.no_of_rooms), 0) as "reserved rooms", rt.total_no_of_rooms - IFNULL(SUM(r.no_of_rooms),0) as "rooms available" FROM Rooms rt LEFT OUTER JOIN Reservations r ON r.roomtype_id = rt.id  AND  '2020-04-04' >=  r.check_in AND  '2020-04-02' <=  r.check_out GROUP BY rt.id, rt.type, rt.total_no_of_rooms

【问题讨论】:

    标签: mysql laravel laravel-query-builder


    【解决方案1】:

    我怎么能遇到 laravel 呢。

    有这个办法:

    $query= DB::select( DB::raw("SELECT rt.id, rt.type, rt.total_no_of_rooms,IFNULL(SUM(r.no_of_rooms), 0) as 'reserved rooms', rt.total_no_of_rooms - IFNULL(SUM(r.no_of_rooms),0) as 'rooms available' FROM Rooms rt LEFT OUTER JOIN Reservations r ON r.roomtype_id = rt.id  AND  '2020-04-04' >=  r.check_in AND  '2020-04-02' <=  r.check_out GROUP BY rt.id, rt.type, rt.total_no_of_rooms"));
    

    它将简单地运行查询。你现在可以 foreach $query 了。

    【讨论】:

    • 也许是一个很好的补充:如果你需要 Eloquent 模型,你可以在你的模型上使用 'hydrate' 方法,在查询结果中传递它,你应该得到一个模型集合。
    猜你喜欢
    • 2021-10-11
    • 2017-04-07
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多