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)