Я использую этот код, чтобы получить последнее сообщение со списком контактов. При выполнении он выдает ошибку "explode () ожидает, что параметр 2 будет строкой, объект задан"
$lastmsgdIds = Message::select(\DB::raw('`text` as usermessage, `from_user_id` as fromuser,`to_user_id` as touser'))->get();
$contacts3 = $contacts3->map(function ($contacts3) use ($lastmsgdIds) {
$me = Auth::user()->id;
$userID = $contacts3->id;
$lastmessage = $lastmsgdIds
->where(function ($query) use ($userID, $me) {
$query->where('fromuser', $userID)->where('touser', $me);
})->oRwhere(function ($query) use ($userID, $me) {
$query->where('fromuser', $me)->where('touser', $userID);
})->first();
$contacts3->lastmsg = $lastmessage->usermessage;
return $contacts3;
});