Search code examples
laraveleloquentmodelcontroller

Max of date from three tables in Laravel


I have three tables in database

tableA
tableB
tableC

All these three table have document_date.

$date1 = '2023-01-01'; 
$date2 = '2023-08-01'; 

I need eloquent with model for

max(
 ( max of document_date in table A wherebetween $date1 and $date2), 
 ( max of document_date in table B wherebetween $date1 and $date2), 
 ( max of document_date in table C wherebetween $date1 and $date2)
)

The result should be one date.


Solution

  • $date1 = '2023-01-01'; 
    $date2 = '2023-08-01'; 
    
    $maxDate = max(
        TableA::whereBetween('document_date', [$date1, $date2])->max('document_date'),
        TableB::whereBetween('document_date', [$date1, $date2])->max('document_date'),
        TableC::whereBetween('document_date', [$date1, $date2])->max('document_date')
    );