예제 #1
0
 public function sendMessage(Request $request)
 {
     $this->validate($request, array('messageArea' => 'required'), array('messageArea.required' => 'Сообщение не должно быть пустым'));
     $msg = [];
     $msg['message'] = $request->input('messageArea');
     $msg['user_id_sent'] = $request->user()->id;
     $msg['user_id_received'] = $request->input('userHidden');
     $ids = [$msg['user_id_sent'], $msg['user_id_received']];
     $b = $msg['user_id_sent'] == $msg['user_id_received'];
     if ($b) {
         $res = Messages::whereIn('user_id_sent', $ids)->whereIn('user_id_received', $ids)->first();
     } else {
         $res = Messages::whereIn('user_id_sent', $ids)->whereIn('user_id_received', $ids)->whereRaw('user_id_received <> user_id_sent')->first();
     }
     if (count($res) == 0) {
         if (Messages::count() != 0) {
             $msg['dialog_num'] = Messages::orderBy('dialog_num', 'DESC')->first()->dialog_num + 1;
         } else {
             $msg['dialog_num'] = 1;
         }
     } else {
         $msg['dialog_num'] = $res->dialog_num;
     }
     Messages::create($msg);
     return redirect()->back();
 }