コード例 #1
0
ファイル: MessagesController.php プロジェクト: blrik/bWorks
 public function friendsSaveMessage(Request $request, $id)
 {
     $this->validate($request, ['name' => 'required|min:2', 'body' => 'required']);
     $user = User::where('id', $request->user()->id)->first();
     $friends = User::where('id', $id)->first();
     if ($user && $friends) {
         if (!$user->isFriendsWith($friends) || $user->id == $friends->id) {
             return redirect()->route('home')->withError('Ошибка, свяжитесь с администратором.');
         }
         $thread = new Thread();
         $thread->user_id = $user->id;
         $thread->name = $request->get('name');
         $thread->slug = md5($thread->user_id . '_' . $thread->name . new Carbon());
         $thread->save();
         $thread->addParticipants($friends->id, $thread->id);
         $message = new Message();
         $message->thread_id = $thread->id;
         $message->user_id = $user->id;
         $message->body = $request->get('body');
         $message->save();
         $participant = new Participant();
         $participant->thread_id = $thread->id;
         $participant->user_id = $user->id;
         $participant->last_read = new Carbon();
         $participant->save();
         return redirect()->route('messages')->withMessage('Сообщение отправлено.');
     } else {
         return redirect()->route('messages')->withError('Ошибка, свяжитесь с администратором.');
     }
 }