【发布时间】:2020-06-10 07:16:30
【问题描述】:
所以我有一个查询,我想添加一些额外的条件。
查询:
$providers = BusinessDetail::select(
'business_details.name as description',
DB::raw('SUM(review_details.param_value) / COUNT(review_headers.id) AS avgUserReview')
)
->leftJoin('review_headers', 'business_details.id', '=', 'review_headers.business_detail_id')
->leftJoin('review_details', 'review_headers.id', '=', 'review_details.review_header_id')
->leftJoin('rate_params', 'review_details.rate_param_id', '=', 'rate_params.id')
->groupBy('business_details.id')
->get();
我想单独将以下内容添加到查询 DB::raw 查询 DB::raw('SUM(review_details.param_value) / COUNT(review_headers.id) AS avgUserReview')。
->whereIn('rate_params.id', [1, 3, 4, 5])
->where('review_details.param_value', '<>', NULL)
->where('review_details.param_value', '<>', '')
->where('review_headers.review_status', '=', 1)
以便查询读取 `'SUM(review_details.param_value) / COUNT(review_headers.id) 其中四个 WHERE 子句仅包含在其中。
我该怎么做?
有人吗?
【问题讨论】:
-
不太清楚...
-
@TsaiKoga 如何将 for where 条件添加到
DB::raw('SUM(review_details.param_value) / COUNT(review_headers.id) AS avgUserReview')? -
在leftjoin之后添加即可
-
@TsaiKoga 如果我将它们添加到那里,它们会影响其他人......我希望他们单独申请
'SUM(review_details.param_value) / COUNT(review_headers.id) AS avgUserReview' -
你没有
groupby,在sum()/count()之后会变成一条记录,所以添加条件还是一条记录,你只选择description和avg,不太清楚影响他人。
标签: laravel laravel-5 eloquent