Что я хотел бы сделать, это получить список всех разговоров, которые имеют только последнее сообщение, и вернуть вывод JSON.
В разговоре есть много сообщений, но есть только одно последнее сообщение:
public function latestMessage()
{
return $this->hasOne(Message::class)->latest();
}
Пользовательский модал
public function conversations()
{
return $this->belongsToMany('App\Conversation','conversation_participants', 'user_id', 'conversation_id');
}
ConversationsController
public function index()
{
$user = Auth::user();
$user_id = $user->id;
$conversations = $user->conversations()->with(['latestMessage'
//Gets conversations that aren't with the user signed in
,'participants' => function ($query) use ($user_id){
$query->where('user_id', '!=' , $user_id);
}])->orderBy('updated_at','desc')->take('20')->get();
return $conversations;
}