Inheritance: extends Model
Beispiel #1
0
 public function sendMessage(User $sender, $body)
 {
     $message = new Message();
     $message->user_id = $sender->user_id;
     $message->content = $body;
     $message->channel()->associate($this);
     $message->save();
     return true;
 }
Beispiel #2
0
 public function messages()
 {
     $channel_ids = array_map('intval', explode(',', Request::input('channels')));
     $since = intval(Request::input('since'));
     $limit = min(50, intval(Request::input('limit', 50)));
     $channels = Channel::whereIn('channel_id', $channel_ids)->get()->filter(function ($channel) {
         return priv_check('ChatChannelRead', $channel)->can();
     });
     $messages = Message::whereIn('channel_id', $channel_ids)->with('user');
     if ($since) {
         $messages = $messages->where('message_id', '>', $since);
     }
     $collection = json_collection($messages->orderBy('message_id', $since ? 'asc' : 'desc')->limit($limit)->get(), new MessageTransformer());
     return $since ? $collection : array_reverse($collection);
 }