'datetime', ]; public function listing() { return $this->belongsTo(Listing::class); } public function seller() { return $this->belongsTo(User::class, 'seller_id'); } public function buyer() { return $this->belongsTo(User::class, 'buyer_id'); } public function messages() { return $this->hasMany(ConversationMessage::class); } public function lastMessage() { return $this->hasOne(ConversationMessage::class)->latestOfMany(); } public function scopeForUser(Builder $query, int $userId): Builder { return $query->where(function (Builder $participantQuery) use ($userId): void { $participantQuery ->where('buyer_id', $userId) ->orWhere('seller_id', $userId); }); } }