Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

bobmyles's avatar

Laravel DB::raw query using multiple WHERE clauses

So I have a query that I would want to add some extra conditions to.

Query:

    $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();

I would want to add the following to the query DB::raw query DB::raw('SUM(review_details.param_value) / COUNT(review_headers.id) AS avgUserReview') alone.

->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)

How do I go about that?

Anyone?

0 likes
2 replies
ahkeravi's avatar

@bobmyles

$query->where([
    ['column_1', '=', 'value_1'],
    ['column_2', '<>', 'value_2'],
    [COLUMN, OPERATOR, VALUE],
    ...
])
bobmyles's avatar

@ahkeravi I just want this where clauses to work for DB::raw('SUM(review_details.param_value) / COUNT(review_headers.id) AS avgUserReview') alone

Please or to participate in this conversation.