Level 75
Use conditional clauses:
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
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();
}
Use conditional clauses:
Please or to participate in this conversation.