'datetime:Y-m-d H:i:s']; public function scopeWithLastUserMessage(Builder $query, int $userId): Model|null { return $query ->where('from_user_id', $userId) ->orWhere('to_user_id', $userId) ->orderBy('updated_at', 'desc') ->first(); } public function scopeWithLastTenMessages(Builder $query, int $userId, int $recipientId): Builder { return $query ->where('from_user_id', $userId) ->where('to_user_id', $recipientId) ->orWhere(function ($query) use ($userId, $recipientId) { return $query->where('from_user_id', $recipientId) ->where('to_user_id', $userId); }) ->orderBy('created_at', 'desc') ->limit(20); } public function scopeWithLastMessage(Builder $query, int $userId, int $recipientId): Model|null { return $query ->where('from_user_id', $userId) ->where('to_user_id', $recipientId) ->orWhere(function ($query) use ($userId, $recipientId) { return $query->where('from_user_id', $recipientId) ->where('to_user_id', $userId); }) ->orderBy('created_at', 'desc') ->first(); } }