使用Laravel的简单聊天应用程序

时间:2020-02-13 05:09:30

标签: laravel

我正在尝试制作简单的聊天应用程序。我已经使用模型建立了黑白用户和chat_message关系。我只是想知道,当我向任何用户消息发送消息时,并不是在私人聊天中发送消息。我该怎么办?

数据库

  1. 用户:
  2. 聊天消息:https://i.stack.imgur.com/eEaR2.png

用户模型

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

聊天消息

class Chat_message extends Model{
   public function user(){
     return $this->belongsTo('App\User');
   }
}

控制器

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

路线

Route::get('/chat/{id}','HomeController@chat');

结果

{"id":1,"name":"zubairMukhtar","email":"zubairmukhtar1992@gmail.com","email_verified_at":null,"job":null,"phone_number":null,"created_at":"2020-02-12 06:49:12","updated_at":"2020-02-12 06:49:12","chats":[]}

1 个答案:

答案 0 :(得分:0)

您应该按chat_messages来获取from_user_id数据组,以便将所有chat_messages数据按发送消息的用户分开,并根据需要显示这些消息在单独的窗口中。

当前,根据您当前的查询,您将在同一窗口中获得所有消息,因此它将在同一屏幕上显示所有消息!

希望有帮助!