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

kaizokupuffball's avatar

Laravel union query using Eloquent and Query Builder

This is my sample query that i want to implement in laravel Eloquent or Query Builder

SELECT in_records.item_id, 
       in_records.date, 
       in_records.value AS 'IN', 
       ''               AS 'OUT', 
       in_records.USER 
FROM   in_records 
UNION 
SELECT out_records.item_id, 
       out_records.date, 
       ''                AS 'IN', 
       out_records.value AS 'OUT', 
       out_records.USER 
FROM   out_records 
ORDER  BY date

Any help?

1 like
3 replies
tisuchi's avatar
tisuchi
Best Answer
Level 70

Try this-

$first= DB::table("in_records")
    ->select(" in_records.item_id,
        in_records.date,
        in_records.value AS 'IN',
        '' AS 'OUT',
        in_records.user");

$final= DB::table("out_records")
    ->select(" out_records.item_id,
         out_records.date,
         '' AS 'IN', 
         out_records.value AS 'OUT',
         out_records.user")
    ->union($first)
    ->get();
3 likes
tisuchi's avatar

Or you can use eloquent for merging records like this way-

$a = Table::where('column','value')->get();
$b = Album::where('column','value')->get();

$result = $a->merge($b);
3 likes

Please or to participate in this conversation.