我正在尝试制作简单的聊天应用程序。我已经使用模型建立了黑白用户和chat_message关系。我只是想知道,当我向任何用户消息发送消息时,并不是在私人聊天中发送消息。我该怎么办?
数据库
用户模型
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":[]}
答案 0 :(得分:0)
您应该按chat_messages
来获取from_user_id
数据组,以便将所有chat_messages
数据按发送消息的用户分开,并根据需要显示这些消息在单独的窗口中。
当前,根据您当前的查询,您将在同一窗口中获得所有消息,因此它将在同一屏幕上显示所有消息!
希望有帮助!