ultimatepos/Modules/Communication/Entities/ChatRoom.php

38 lines
793 B
PHP

<?php
namespace Modules\Communication\Entities;
use App\User;
use Illuminate\Database\Eloquent\Model;
class ChatRoom extends Model
{
protected $guarded = ['id'];
protected $casts = [
'last_message_at' => 'datetime',
];
public function creator()
{
return $this->belongsTo(User::class, 'created_by');
}
public function members()
{
return $this->belongsToMany(User::class, 'chat_room_members', 'chat_room_id', 'user_id')
->withPivot('last_read_at')
->withTimestamps();
}
public function messages()
{
return $this->hasMany(ChatMessage::class)->orderBy('created_at');
}
public function latestMessage()
{
return $this->hasOne(ChatMessage::class)->latestOfMany();
}
}