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

hcastillo's avatar

chain where stament with varible and use it on query builder

HI, guys. im trying to set a where stament into variable to set in query builder, but this is posible?

   private function generateQueryAnnualReport(bool $all_entities, $period, $entity_id)
    {
        $where_statement = null;
        // Determinate which use
        if ($all_entities) {
            $where_statement = `where([
                ['entity_documentation.documentation_id', '=', Documentation::INFORMATION_REQUEST_ID],
                ['documentation_submissions.period_year', '=', $period]
            ])`;
        } else {
            $where_statement = `where([
                ['entity_documentation.documentation_id', '=', Documentation::INFORMATION_REQUEST_ID],
                ['documentation_submissions.period_year', '=', $period],
                ['entity.id', '=', $entity_id]
            ])`;
        }

        return  DB::table('entities as entity')
            ->join('entity_documentation', 'entity_documentation.entity_id', '=', 'entity.id')
            ->rightJoin('documentation_submissions', 'documentation_submissions.entity_documentation_id', '=', 'entity_documentation.id')
            ->rightJoin('information_request_groups', 'information_request_groups.submission_id', '=', 'documentation_submissions.id')
            ->rightJoin('information_requests', 'information_request_groups.id', '=', 'information_requests.information_request_group_id')
            ->$where_statement
            ->orderBy('entity.id', 'asc')
            ->orderBy('entity.name', 'asc')
            ->orderBy('documentation_submissions.period_month', 'asc')
            ->get();

    }
0 likes
2 replies

Please or to participate in this conversation.