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(); }