如何在Laravel中的私人聊天中保存聊天记录

时间:2020-02-16 16:22:37

标签: laravel

我是开发人员,正在开发简单的私人聊天应用程序,用户可以向其他用户正确发送消息,但 用户的历史记录消息不是在私人聊天中创建的 。如何做到这一点,请帮助我,谢谢。

有人有主意吗?

控制器

                 public function chataction(REQUEST $request)
                 {   
                   $chat_message = $request->get('message');
                   $from_user_id=Auth::user()->id;
                   $to_user =$request->get('myid');                 
                   $user = Auth::user();
                   $m = $user->Chats()->create([                            
                  'chat_message'=>  $chat_message,
                  'to_user_id'  => $to_user,
                  'from_user_id' => $from_user_id,]);}
                   }


                  public function chat($id)
                  {   
                  $single_chat = User::with('Chats')->where('id',$id)->first();
                  return view('single_chat',compact('single_chat'));
                  } 

html视图

             <!--  login user message  -->
              <!-- Message. Default to the left -->   
              @foreach($single_chat->chats as $single_chats)
              <!-- Message. Default to the left -->
              <div class="direct-chat-msg">
              <div class="direct-chat-infos clearfix">
              <span class="direct-chat-name float-left"></span>
              <span class="direct-chat-timestamp float-right">{{$single_chats->timestamp}}</span>
              </div>
              <!-- /.direct-chat-infos -->
              <img class="direct-chat-img" src="{{url('public/assets/dist/img/user1-128x128.jpg')}}" 
              alt="message user image">
              <!-- /.direct-chat-img -->
              <div class="direct-chat-text">
              {{$single_chats->chat_message}}
              </div>
              <!-- /.direct-chat-text -->
              </div>
              <!-- /.direct-chat-msg -->
              @endforeach

用户模型

              class User extends Authenticatable
              {
              public function Chats()
              {  
              return $this->hasMany('App\Chat_message','from_user_id');
              }

聊天消息模型

             class Chat_message extends Model
             {
             protected $fillable = ['chat_message','to_user_id','from_user_id'];
             public function user()
             {
             return $this->belongsTo('App\User','id');
             }
             }   

0 个答案:

没有答案