示例#1
0
function createThreads()
{
    $thread = Thread::create(['subject' => "Check"]);
    // Message
    Message::create(['thread_id' => $thread->id, 'user_id' => Auth::user()->id, 'body' => "Hellooooo."]);
    // Sender
    Participant::create(['thread_id' => $thread->id, 'user_id' => Auth::user()->id, 'last_read' => new Carbon()]);
    // Recipients
}
示例#2
0
 /**
  * Adds users to this thread
  *
  * @param array $participants list of all participants
  * @return void
  */
 public function addParticipants(array $participants)
 {
     if (count($participants)) {
         foreach ($participants as $user_id) {
             Participant::firstOrCreate(['user_id' => $user_id, 'thread_id' => $this->id]);
         }
     }
 }
示例#3
0
 /**
  * Adds a new message to a current thread
  *
  * @param $id
  * @return mixed
  */
 public function update($id)
 {
     try {
         $thread = Thread::findOrFail($id);
     } catch (ModelNotFoundException $e) {
         Session::flash('error_message', 'The thread with ID: ' . $id . ' was not found.');
         return Redirect::to('messages');
     }
     $thread->activateAllParticipants();
     // Message
     Message::create(['thread_id' => $thread->id, 'user_id' => Auth::id(), 'body' => Input::get('message')]);
     // Add replier as a participant
     $participant = Participant::firstOrCreate(['thread_id' => $thread->id, 'user_id' => Auth::user()->id]);
     $participant->last_read = new Carbon();
     $participant->save();
     // Recipients
     if (Input::has('recipients')) {
         $thread->addParticipants(Input::get('recipients'));
     }
     return Redirect::to('messages/' . $id);
 }