简体   繁体   English

Laravel查询生成器原始表达式

[英]Laravel Query Builder Raw Expressions

How can one write raw expressions in a join clause using query builder given this? 在这种情况下,如何使用查询生成器在join子句中编写原始表达式?

SELECT 
    rating.post_id,
    sum(rate_like), 
    sum(rate_dislike), 
    (sum(rate_like) + sum(rate_dislike)),
    column_rating
from rating
inner join (
    select 
        post_id, 
        round(round((((sum(rate_like) / (sum(rate_like) + sum(rate_dislike)) * 100) * 0.5) / 10) * 2) / 2, 1) as column_rating
    from rating group by post_id
) as rating_table
on rating.post_id = rating_table.post_id
group by rating.post_id

I've tried achieving it the following way, but it doesn't work: 我尝试通过以下方式实现它,但是它不起作用:

DB::table('db_test')->table('rating')
                     ->join('rating_table', 'select ... from rating as rating_table')
                     ->raw('rating.post_id,
                            sum(rate_like), 
                            sum(rate_dislike), 
                            (sum(rate_like) + sum(rate_dislike)),
                            column_rating')

我能够使用->join(DB()->raw('select...')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM