laravel中的虚拟表

I want to convert my sql query to laravel Eloquent . This is the corresponding sql query `

select 
distinct reciver from 
(
select u.user_id as reciver,max(created_at)as created_at
 from messages
 m join message_user u on m.id=u.message_id where sender=225 group by reciver 
union
 select m.sender as reciver,max(created_at)as created_at
 from 
messages m join message_user u on m.id=u.message_id 
where u.user_id=225 
group by reciver
)
as chatbox order by created_at desc

I tried the following

$recived=Message::select(DB::raw('messages.sender as reciver,max(messages.created_at)as created_at'))
->join('message_user','messages.id','=','message_user.message_id') 
->where("message_user.user_id",'=',$request->user()->id)
->groupBy('reciver');

$sent=Message::select(DB::raw('message_user.user_id as reciver,max(messages.created_at)as created_at'))
->join('message_user','messages.id','=','message_user.message_id')
->where("messages.sender",'=',$request->user()->id)
->groupBy('reciver')
->union($recived);

it does not give the required out put it only give union result i want perfom another select query in that table($reciver table)