Отправить сообщение выбранному пользователю, используя laravel - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь отправить сообщение выбранному пользователю, к сожалению, у меня возникла ошибка, как это исправить? спасибо.

проверьте ошибку https://flareapp.io/share/67OAAVmr#F59

контроллер

                public function chataction(REQUEST $request)
                {   
                $user = Auth::user();
                $m = $user->Chats()->create([             
               'chat_message' => $request->input('message'),
               'from_user_id' =>Auth::user()->id,
               'to_user_id' =>$request->input('id'),
               ]);          
               return ['status' => 'Message Sent!'];
                }

html просмотр

          <form action="{{route('chat.action')}}" method="post">
          @csrf
          <input type="hidden" name="id" >
          <div class="input-group">
          <input type="text" id="chatmessage" name="message" placeholder="Type Message ..." 
          class="form-control">
          <span class="input-group-append">
          <button type="submit" name="btnsubmit" id="btnsubmit"  class="btn btn- 
          primary">Send</button>
          </span>
          </div>
          </form>

Ответы [ 2 ]

2 голосов
/ 14 февраля 2020

Изменить ваш запрос

use Illuminate\Http\Request;

public function chataction(Request $request)
   {   
     $user = Auth::user();
     $m = $user->Chats()->create([             
          'chat_message' => $request->input('message'),
          'from_user_id' => Auth::user()->id,
          'to_user_id' => $request->input('id'),
          ]);          
         return ['status' => 'Message Sent!'];
   }

Изменить вашу модель

использовать fillable при использовании create метод вставка данные

protected $fillable = ['chat_message', 'from_user_id', 'to_user_id'];
1 голос
/ 14 февраля 2020

1 - Измените модель App\Chat так, чтобы $fillable выглядело так:

protected $fillable = ['chat_message', 'from_user_id', 'to_user_id'];

2 - Измените контроллер на использование Illuminate\Http\Request и измените заглавные буквы аргумента метода с REQUEST на Request.

use Illuminate\Http\Request;

public function chataction(Request $request)
{
     ...
}




Чтобы ответить на ваш вопрос в комментариях,

Вот как ваш метод должен выглядеть следующим образом:

use Illuminate\Http\Request;

public function chataction(Request $request)
{   
 $user = Auth::user();

 if($request->id == $user->id){
     return response("Can't message yourself!");
 }

 $m = $user->Chats()->create([             
      'chat_message' => $request->input('message'),
      'from_user_id' => $user->id,
      'to_user_id' => $request->input('id'),
      ]);     

  return ['status' => 'Message Sent!'];
}

Примечание: Пожалуйста, обновите свой вопрос, включив в него свой запрос относительно сравнения между from_user_id и to_user_id в интересах будущих посетителей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...